我正在使用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中,它放在我的子域的根文件夹中。这是我正在使用的规则:
[ISAPI_Rewrite]
RewriteRule ^(.*)$ /index.php/$1 [L]
有谁知道可能导致这种情况的原因?我发现this post描述了同样的问题,但没有答案。
由于
答案 0 :(得分:1)
我猜它只是循环,所以请尝试修复它:
[ISAPI_Rewrite]
RewriteRule /(?!index\.php/.*)(.*) /index.php/$1 [L]