2013-06-21 81 views
1

我試圖創建一個modrewrite規則將改變的特定部分:簡單modrewrite刪除路徑

/blah/correct/xyz.htm

/correct/xyz.htm

沒有總是/blah但是當它在那裏,它總是出現在URL的開頭。該URL可以是任意長度的,具有多個子路徑。它甚至可能是/blah/myfile.htm(它應該重寫爲/myfile.htm)。

這樣做的最好方法是什麼?

回答

1

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule (?:^|/)blah(/.+)$ /$1 [L,NC] 

這會在內部轉發/blah/foo/foo/blah/correct/foo/correct/foo。如果你想外部重寫,然後使用:

RewriteRule (?:^|/)blah(/.+)$ /$1 [L,R=301,NC] 
+0

現在檢查編輯答案。 – anubhava

+0

輝煌 - 完美的作品。謝謝! – Eric

+1

不客氣,很高興它解決了。 – anubhava