2017-06-20 97 views
2

所以我有這個網站:www.example.com,這在過去會重定向客戶www.example.com/subdir重定向子域名只爲根

現在我更新了整個網站,和子目錄不再存在,我想要主域名是根。問題是許多客戶端已經將url包含在子域中,所以我需要一個重定向規則將www.example.com/subdir路由到www.example.com。

我嘗試這樣做:

RewriteRule ^subdir/(.*)$ $1 

,如果我進入www.example.com/subdir/ 與最後一個斜線

,但如果我訪問www.example.com/subdir 其中工程沒有最後的斜線它不會做這項工作。

我該如何讓它工作?

回答

3

您的規則改成這樣:

RewriteRule ^subdir(?:/(.*))?$ /$1 [L,NC,R=301,NE] 

它在這裏使用R=301很重要,這樣所有的客戶端和搜索引擎最終會轉移到新的URL,而不是繼續使用重複URL相同內容(壞SEO) 。

+1

你正在翻倍的替代正斜槓。我更新了答案。 – SuperDuperApps

+1

非常感謝@SuperDuperApps,是的,你的編輯是完美的。 – anubhava

+1

我唯一擔心的是'/ subdir'中的$ 1將是空的。也許更好的方法是'^ subdir(?:/(。*))?$/$ 1'。我也不認爲'NE'在這裏是必要的。 – SuperDuperApps