我的webroot是example.com
。我在webroot下有两个子目录,分别命名为sub1
和sub2
。里面sub1
我已经放在以下.htaccess
:由Apache RewriteEngine困惑
RewriteEngine On
RewriteCond %{REQUEST_URI} test\.me$ [NC]
#RewriteRule ^(.*)$ http://example.com/sub2/foo.html [L]
RewriteRule ^(.*)$ /sub2/foo.html [L]
当有人试图访问http://example.com/sub1/test.me
,我希望他们能够送达http://example.com/sub2/foo.html
。
以上.htaccess
不起作用。如果我使用完整路径取消注释RewriteRule,并使用相对于webroot的路径注释掉RewriteRule,则它几乎按预期工作(右侧显示,但显示的URL也从http://example.com/sub1/test.me
更改为http://example.com/sub2/foo.html
,其中不想要)。
我无法理解为什么完整路径几乎可以工作,而相对于siteroot的路径却没有。
如果有人可以解释为什么我的方法不起作用,以及做这种重定向的“最佳做法”是什么 - 我将不胜感激。