是的,mod_rewrite 快把我逼疯了。
这是问题所在:
我的 htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
当我尝试访问该页面advantix
(所以地址是www.mywebsite.com/advantix
)时,我被重定向到advantix/?url=advantix
查看访问日志,我中间有一个可疑的301
"GET /advantix HTTP/1.1" 301 335 "-" "Mozilla/5.0"
"GET /advantix/?url=advantix HTTP/1.1" 200 186 "-" "Mozilla/5.0"
有一个重要的细节:advantix 是一个目录。
因此,如果我评论该规则,advantix
请转到文件夹并列出文件。
/
如果有文件夹匹配,为什么它会自动应用?
我不想访问该文件夹,我想通过 index.php?url=advantix
调用 advantix
.
我也有 rewriteLogs,但它们没有更多帮助。我的 vhost conf 有Directory
标签Options All
,如果有帮助,我对此不太了解。