我的网络根目录是example.com. 我在 webroot 下有两个子目录,分别命名sub1为sub2. 在里面sub1我放了以下内容.htaccess:
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 的路径却不行。
如果有人能解释为什么我的方法不起作用,以及进行这种重定向的“最佳实践”是什么,我将不胜感激。