我正在使用ISAPI_Rewrite v2删除IIS 6上的index.php。这就是重写的工作方式:
http://dev.mysite.co.uk/mypage => http://dev.mysite.co.uk/index.php/mypage
http://dev.mysite.co.uk/anotherpage => http://dev.mysite.co.uk/index.php/anotherpage
使用$_SERVER['REQUEST_URI'],我可以看到实际发生的情况如下:
http://dev.mysite.co.uk/mypage => http://dev.mysite.co.uk/index.php/index.php/mypage
http://dev.mysite.co.uk/anotherpage => http://dev.mysite.co.uk/index.php/index.php/anotherpage
这会导致404错误。重写规则包含在httpd.ini中,httpd.ini位于子域的根文件夹中。以下是我使用的规则:
[ISAPI_Rewrite]
RewriteRule ^(.*)$ /index.php/$1 [L]
有人知道是什么原因造成的吗?我发现
this post
它描述了同样的问题,但没有答案。
谢谢