2016-11-03 35 views
1

我必須將某些文件夾從我的域重定向到子域。這是我的.htaccess規則:僅限URL中的第一個文件夾的重寫規則

RedirectMatch 301 /folder1 http://sub.domain.com/folder1$1 
RedirectMatch 301 /folder2 http://sub.domain.com/folder2$1 

所有運作良好,這重定向一切從

www.domain.com/folder1/... => to => sub.domain.com/folder1/... 

但什麼是世界上沒有挑戰?我認識到這個問題:這個規則也重定向

www.domain.com/sub1/sub2/folder1/... => to => sub.domain.com/folder1/... 

在我的情況下,這是不好的。任何解決方案來避免這種情況

Thanx提前。

回答

0

您需要使用delimite^ $ 只匹配/文件夾1你的正則表達式。

RedirectMatch 301 ^/folder1$ http://sub.domain.com/folder1$1 
+0

嗨starkeen,我試過這個,但它不起作用,它和以前一樣。這也是重定向www.domain.com/sub1/sub2/folder1/... =>到=> sub.domain.com/folder1/...據我所知,^標誌着第一個外觀,所以我更新了問題文本。因爲如果它是域之後的第一個文件夾,我只想重定向folder1。在像www.domain.com/sub1/sub2/folder1/這樣的網址中,它仍然是第一個出現,但在這種情況下,它不應該被重定向。 –

+0

也許是因爲你的瀏覽器緩存。清除緩存並重新測試。 – starkeen

+0

這f ******緩存;-)它的工作原理,但我收到一個錯誤,因爲重定向url看起來像這樣:http // sub.domain/folder1 /(missing「:」) –