php从/index.php重定向到/

时间:2012-03-18 12:41:27

标签: php apache redirect

每当用户在/index.php/index.php//index.php////中输入普通/时,我都会尝试让浏览器重定向。这是我到目前为止所拥有的

if ($_SERVER['ORIG_PATH_INFO'] == '/index.php') {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://'.$_SERVER['HTTP_HOST'].'/'
}

但是我得到了一个无限循环重定向错误。我究竟做错了什么?有没有办法让这项工作?

编辑,似乎将'ORIG_PATH_INFO'更改为'REQUEST_URI'/index.php做了诀窍我将if添加到index.php/以处理index.php////和{{1}} ...

2 个答案:

答案 0 :(得分:2)

使用REQUEST_URI。当您使用ORIG_PATH_INFO时,您将始终获得/index.php

答案 1 :(得分:1)

根据$_SERVER['REQUEST_URI']确定您的情况,当网址实际上不包含index.php时,它不会尝试重定向。

并使用stristr在网址中的任何地方搜索index.php

http://us3.php.net/manual/en/function.stristr.php