0

您好,我想知道如何避免在 request_uri 中重复发布。

举个例子:

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

应该只是:

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

例如,我想创建一个我需要的标题功能检查,该功能需要在标题之前进行检查。如果 url 字符串包含双重发布,它不应该是标题。所以检查将是这样的:

$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

您可以根据需要修改以下代码以适应您的需要:

$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 回答
0

试试下面的代码,使用explode并获得唯一性并将其内到URL中......

$url = $_SERVER['REQUEST_URI'];

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

$urlArrayUnique = array_unique($urlArray);

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

您也可以在 $urlArray 中获得重复值...

于 2012-12-20T07:45:23.360 回答