2013-11-22 69 views
1

我希望有一個子目錄後,所有文件夾重定向:重定向所有子目錄而不是父母

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/應該留在/子

用戶訪問/ 用戶訪問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] 

回答

2

使用.+代替.*,以確保有1個字符是/sub/後:

RewriteRule ^sub/(.+)$ http://sub.example.com/$1 [R=302,L] 
+0

這是工作非常感謝它。問題:如何將排除添加到規則?示例:我想要 example.com/sub/sub2/some-place example.com/sub/sub3/some-place example.com/sub/subY/some-place 重定向如上,但是 示例。 com/sub/thispage不應該重定向到NOT重定向。 我試着添加這條規則: RewriteCond%{REQUEST_URI}!^/thispage不應該直接對此 – whoback

+0

輸入任何內容?謝謝! – whoback

+0

哦,我錯過了你以前的評論。很難閱讀那麼長的評論。你能編輯這個問題並且清楚地解釋這個新的需求,以便我可以相應地編輯我的答案。 – anubhava

相關問題