0

こんにちは、request_uri での二重投稿を回避する方法を知りたいです。

例として:

http://www.example.com/foo/foo/...

のみである必要があります:

http://www.example.com/foo/...

たとえば、ヘッダーの前にチェックする必要があるヘッダー関数に必要なチェックを作成したいと思います。url-string に二重投稿が含まれている場合は、ヘッダーを付けるべきではありません。したがって、チェックは次のようになります。

$host = $_SERVER['HTTP_HOST'];
$url = $_SERVER['REQUEST_URI'];
$urlArray = explode('/', $url);
$urlArrayUnique = array_unique($urlArray);
$urlUnique = implode('/', $urlArrayUnique);

if (isset($_SESSION['a'])){
    $var = $_SESSION['a'];
    if($url !== $urlUnique){
        header ('Location:'.$host.'/'.$var.'/'.$basename);
        exit;
    }
}

私を助けてくれる人がいれば、本当に感謝しています。

どうもありがとう。

4

2 に答える 2

0

以下のコードを試して、explode を使用て固有のものを取得し、それを URL に内します....

$url = $_SERVER['REQUEST_URI'];

$urlArray = explode('/', $url);

$urlArrayUnique = array_unique($urlArray);

$urlUnique = implode('/', $urlArrayUnique);

$urlArray でも重複した値を取得できます...

于 2012-12-20T07:45:23.360 に答える
0

必要に応じて、以下のコードを変更できます。

$host = $_SERVER['HTTP_HOST'];
$url = $_SERVER['REQUEST_URI'];
$urlArray = explode('/', $url);
$lai = max(array_keys($urlArray));//here we get the max array index    
if($urlArray[$lai-1] != $urlArray[$lai])header('Location:'.$host.'/'.$var.'/'.$basename);
于 2012-12-20T08:56:08.200 に答える