我想在子目录后重定向所有文件夹:
example.com/sub/sub2/some-place
example.com/sub/sub3/some-place
example.com/sub/subY/some-place
到子域:
sub.example.com/sub2/some-place
sub.example.com/sub3/some-place
sub.example.com/subY/some-place
这是我正在使用的规则并且有效:
RewriteRule ^sub/(.*)$ http://sub.example.com/$1 [R=302,L]
但是,我不希望重定向example.com/sub/目录。
用户访问example.com/sub/应该留在/ sub / 用户访问example.com/sub/ANYTHINGELSE应重定向到sub.example.com/ANYTHGINELSE
提前致谢。
编辑:问题:如何在规则中添加排除项?示例:我想要
example.com/sub/sub2/some-place
example.com/sub/sub3/some-place
example.com/sub/subY/some-place
如上所述重定向但
example.com/sub/thispageshouldnotredirect
不重定向。我尝试添加此规则:
RewriteCond %{REQUEST_URI} !^/thispageshouldnotredirect
编辑#2:目前这对我有用:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/sub/thispageshouldnotredirect/?$
RewriteRule ^sub/(.+)$ http://sub.example.com/$1 [R=302,L]
答案 0 :(得分:2)
使用.+
代替.*
,以确保在/sub/
之后还有1个字符:
RewriteRule ^sub/(.+)$ http://sub.example.com/$1 [R=302,L]