2011-05-12 63 views
0

我在example.com/pages/page1/example.com/pages/page2使用去除URL字符串的.htaccess

形式的URL是否有.htaccess擺脫/pages/部分的一種簡單的方法,讓我的網址是:

example.com/page1 

謝謝

+0

請等待 - 請澄清以便我瞭解您的目標:您是否希望最終用戶在「example.com/pages/page1」中鍵入內部重定向到「example.com/page1」的內容,或者是否希望最終用戶在'example.com/page1'中鍵入內部重定向,靜靜地輸入'example.com/pages/page1'? – 2011-05-12 13:13:28

+0

我希望輸入'example.com/pages/page1'的用戶被重定向到'example.com/page1'等 – terrid25 2011-05-13 12:46:06

+0

請參閱我對答案的編輯。希望這可以幫你。 – 2011-05-13 12:54:29

回答

2

如果您有能力修改DocumentRoot,這聽起來像你只需要將DocumentRoot設置爲/path/to/pages即可。不過,如果你不能做到這一點,那麼你可以在.htaccess

RewriteEngine On 
RewriteRule ^/(.*)$ /pages/$1 [L,QSA] 

試試這個上面是通用的,重定向一切/pages。如果您的網頁確實被稱爲「第一頁第二頁等等」,那麼這是更爲具體:

RewriteRule ^/page([0-9]+)$ /pages/page$1 [L,QSA] 

取出[L],如果你有更多的重寫規則來處理。 [QSA]沿着可能存在的任何其他查詢字符串參數轉發。

編輯:對於用戶輸入example.com/pages/page1被重定向到example.com/page1

RewriteEngine On 
RewriteRule ^/pages/(.*)$ /$1 [L,QSA] 

以上將在內部重定向,但不能更改瀏覽器的地址欄中。如果您想要更改地址欄,請通知用戶重定向已發生,請改爲使用[L,R=301,QSA]

+0

我的頁面名稱是動態的,所以類似於'/ pages/about-us'和'/ pages/contact'。我有其他頁面,比如'/ categories'和'/ users',所以我不想重定向所有的東西,只是那些匹配'/ pages/dynamic_url'的東西 – terrid25 2011-05-12 11:02:28

相關問題