我想在.htaccess
相对路径使用的RewriteRules,但是Apache似乎想输出物理路径,而不是服务器路径每当我试图输出的相对路径。绝对和服务器根路径工作正常。例如:为什么Apache的RewriteRule会显示本地路径?
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默认为物理路径而不是当前URI路径?
我确实想要一个实际的重定向到新的路径 - 我使用它来创建快捷方式的URL并纠正错别字。有没有办法避免在每个.htaccess文件中手动设置RewriteBase? – zildjohn01 2009-07-22 03:30:22
一般来说,你不需要改变`RewriteBase`。只需使用内部路径和绝对路径的相对路径进行外部重定向。 – Gumbo 2009-07-22 06:43:07