【发布时间】:2011-03-01 05:31:17
【问题描述】:
是的,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,如果有帮助,我对此不太了解。
【问题讨论】:
标签: apache .htaccess mod-rewrite url-routing error-log