重写规则以透明方式重定向到子文件夹

时间:2013-08-22 15:22:09

标签: apache mod-rewrite

我希望为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]

1 个答案:

答案 0 :(得分:1)

用以下代码替换您的代码:

Options +FollowSymLinks -MultiViews -Indexes
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^subfolder1(/.*|)$ /subfolder2$1 [NC,L]