我希望为apache编写重写规则,以便http://www.domain.com/subfolder1
之类的请求重定向到http://www.domain.com/subfolder2
。
这应该透明地发生(即:没有在浏览器中更改url),并且所有后续的url请求或链接都应该重定向到新的子文件夹(subfolder2)。
这可能吗?如何?
目前我有这个重写规则,它会重定向到子文件夹2但是通过单击任何链接,所有请求都会转发到根路径。即www.domain.com
。例如,当我打开此网址(www.domain.com/subfolder1
)时,指向link.php的任何链接都会重定向到www.domain.com/link.php
,但应该转到www.domain.com/subfolder2/link.php
。
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
Options -Indexes
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteRule ^subfolder1?$ /subfolder2/ [P,L]
答案 0 :(得分:1)
用以下代码替换您的代码:
Options +FollowSymLinks -MultiViews -Indexes
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^subfolder1(/.*|)$ /subfolder2$1 [NC,L]