【发布时间】:2016-05-07 22:30:32
【问题描述】:
我正在运行 Apache 2.4.9。我的 .htaccess 文件中有这个规则
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} \.(css|js)$
RewriteRule ^.*$ /index.php?url=$0 [L]
它完美无瑕,除了在这种特殊情况下:
调用/myfolder时(如果“myfolder”文件夹确实存在),Apache会返回一个http301到url:/myfolder?url=myfolder
我真的不确定是什么导致了这种重定向。
你有什么想法吗?
谢谢!
【问题讨论】:
-
此代码不执行重定向。重定向可能是缓存,因为您报告的是 301 重定向。清除浏览器缓存,看看是否能解决问题。如果这不能解决问题,请确定导致此重定向的原因。
index.php中的代码可能吗? -
这绝对是导致重定向的原因。如果我将“url”修改为“url2”,重定向会改变。另外,我直接使用 curl 或 wget 进行尝试。所以这与缓存问题无关。
标签: apache .htaccess mod-rewrite