我正在尝试使用 RewriteRules.htaccess
具有相对路径,但 Apache 似乎想要输出physical路径而不是server每当我尝试输出相对路径时。绝对路径和服务器根路径工作正常。例如:
RewriteEngine On
# this works fine, 127.0.0.1/ab redirects to 127.0.0.1/cd
RewriteRule ^ab$ /cd [R]
# this doesn't work... 127.0.0.1/wx redirects to 127.0.0.1/C:/path/to/files/yz
RewriteRule ^wx$ yz [R]
添加一个“RewriteBase /
" 解决了问题,但是给每个路径添加路径很繁琐.htaccess
,并且这使得更改目录结构变得更加困难。 RewriteBase 默认为当前值是否有原因physical路径而不是当前路径URI path?
对于那些碰巧从谷歌来到这里的人(像我一样),简短的清单:
确保你有RewriteBase /
(或任何其他值 - 声明才是重要的)
如果您使用重定向([R]
, [R=30x]
等)- 确保新的 URI 以/
并包含相对于您的域根的路径
(如果以上还没有帮助)重新启动 Apache,清除浏览器的缓存(特别是如果您使用过[R=301]
在某一点)
这就是拯救我的一天,也许它也会拯救你的一天。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)