我有.htaccess的奇怪问题我无法解决:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1
RewriteRule watermelonurltest wmelon/core/works.html
</IfModule>
当访问westernurltest时,它会循环到类似:
http://localhost/w/watermelonurltest/index.php/2/index.php/2/index.php/2/index.php/2/index.php/2/index.php/2/index.php/2/(...)
这表明应用RewriteRule ^(.*)$ index.php?/$1
代替RewriteRule watermelonurltest wmelon/core/works.html
我试图交换这两个规则,但之后出现了其他问题。
当第一条规则是
时,问题不存在RewriteRule ^(.*)$ index.php/$1
(.php之后没有问号)
出于某种原因,这个问号打破了它。
我无法弄清楚为什么会发生这种情况以及如何解决这个问题 - 我尝试使用谷歌搜索,但我没有找到任何有用的信息。
提前致谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
我试图在新设置中重现这一点,但是使用 .htaccess 和提供的规则,我没有遇到循环;重写是 index.php?/ watermelonurltest ;通过查看重写日志确认。
index.php 做什么重定向?如果有的话?