2013-10-22 42 views
2

我將使用Wordpress作爲我的網站的新CMS,並且將爲許多頁面使用固定鏈接。問題是Wordpress之外有許多舊頁面和文件需要保留在與永久鏈接重疊的目錄中。例如,對於一個WP頁面固定鏈接將在: http://www.domain.com/support/mod_rewrite重定向除目錄本身之外的目錄中的所有內容

但我有幾個PHP應用程序和人/支持/目錄需要由相同的URL訪問中仍然使用其他文件。如果在永久鏈接的相同位置有一個目錄,那麼永久鏈接將被忽略。

我一直在研究這一點,發現我可以重命名物理目錄(例如「A-support」),然後將除指向確切目錄的url之外的所有內容重定向到新位置。

所以這不應該重定向:
http://www.domain.com/support/

但是,所有的這些都應該重定向到新的/ A支持/目錄的位置: http://www.domain.com/support/page.html
http://www.domain.com/support/subdirectory/
http://www.domain.com/support/subdirectory/page.html

這裏是。 htaccess規則我到目前爲止似乎沒有工作,因爲它只會將所有內容直接重定向到/ A-support /文件夾中,而不適用於子目錄:

RewriteCond %{REQUEST_URI} support/(.+)$ 
RewriteCond %{REQUEST_URI} !support/(.+)/$ 
RewriteRule ^support/(.+)$ http://www.domain.com/A-support/ [L] 

我看過的文檔,但對我來說是比較混亂的功能,我似乎無法得到它的權利。

謝謝你的幫助!

+0

檢查http://stackoverflow.com/questions/1848500/htaccess-mod-rewrite-how-to-exclude-directory-from-rewrite-rule和http://stackoverflow.com/questions/163302/how- do-i-ignore-a-directory-in-mod-rewrite – Peter

+0

嗨,彼得。這是一個不同的問題。我不想簡單地忽略重寫的目錄,我希望目錄中的所有內容都能夠正確重定向,而不是完全到達目錄位置的指定url。 – mjdth

+0

這些問題中的評論和答案回答了完全相同的問題。 – Peter

回答

1

試試這個:

RewriteRule ^support/(.+)$ http://www.domain.com/A-support/$1 [L] 

你缺少的主要事情是$1逆向引用。這不應該重定向/support/以及其中的任何內容。你不需要任何其他條件。

+0

非常感謝!看起來這是完美的。有時候我只是喜歡StackOverflow。 – mjdth

相關問題