2017-01-26 145 views
1

我似乎無法找到對這個問題的答案。多個子目錄的重寫規則

我有一個網站與許多語言與子目錄結構。現在我需要自動將它們從index.htm重定向到/

例如,

agb-german/index.htm -> agb-german/ 
agb-english/index.htm -> agb-english/ 

當然,我可以爲每種語言創建一個重定向,但我認爲重寫也可以爲性能做更好的工作。

所以,我需要這樣的東西

RewriteRule ^agb-(.*)/index.(.*)$ /agb-{how-to-get-this-from-the-request?}/ [R=301,L] 

回答

1

您可以使用此規則:

RewriteCond %{THE_REQUEST} /agb- [NC] 
RewriteRule ^(agb-\w+)/index\. /$1 [R=301,L,NC] 

我們正在從輸入URL匹配agb-\w+,並使用括號(...)我們$1捕獲匹配的值。

+1

謝謝!這就像一個魅力:) – Florian

+0

如果我反過來需要它,以便agb-english後面的所有內容導致agb-english/index.htm? RewriteCule%{THE_REQUEST}/agb- [NC] RewriteRule ^(agb- \ w +)\。 /$1/index.htm [R = 301,L,NC] – Florian

+0

你能告訴我一個例子,你需要什麼重寫規則? – anubhava