我想用.htaccess重寫一個url,並對它進行301重定向。.htaccess rewrite url [apache]
原始URL是這樣的http://本地主機/實驗室/ customer_132 /昆德=哥德堡-STAD
我希望它看起來像這樣,重定向到
HTTP: // localhost/labs/customer_132 /?page_id = 11#goteborg-stad
試過不同的解決方案,但我沒有得到它的竅門。
謝謝你的一切幫助!
我想用.htaccess重寫一個url,並對它進行301重定向。.htaccess rewrite url [apache]
原始URL是這樣的http://本地主機/實驗室/ customer_132 /昆德=哥德堡-STAD
我希望它看起來像這樣,重定向到
HTTP: // localhost/labs/customer_132 /?page_id = 11#goteborg-stad
試過不同的解決方案,但我沒有得到它的竅門。
謝謝你的一切幫助!
您無法直接使用RewriteRule
stament訪問查詢字符串;相反,您需要一個前面的RewriteCond
,檢查是否存在kund
字段並獲取其值。然後,您可以在RewriteRule
中使用%N
來使用任何捕獲的值。
RewriteEngine On
RewriteCond %{QUERY_STRING} kund=([\w\-]+)
RewriteRule ^/labs/customer_132/ /labs/customer_132/?page_id=11#%1 [NC,R,L]
謝謝鮑羅廷,會試試!回來,如果它不工作:) – 2012-03-06 15:58:15
您需要在.htaccess文件打開重寫引擎:
RewriteEngine On
然後,對於單個URL重定向以下應該工作(如果.htaccess文件是在根文件夾或服務器)。
編輯:如果查詢字符串正好是kund=goteborg-stad
(大寫或小寫),您需要檢查查詢字符串的條件。
RewriteCond %{QUERY_STRING} ^kund=goteborg-stad$ [NC]
RewriteRule ^labs\/customer_132\/$ /labs/customer_132/?page_id=11#goteborg-stad [NE,R,L]
的NE
告訴Apache不要逃避在重定向的#
符號。
如果你想重定向選擇不同的URL(例如,客戶ID會改變嗎?),那麼你需要澄清。
'page_id = 11'甚至沒有在您的原始URI? – anubhava 2012-03-05 17:06:09
是的,我知道什麼字符串的最後部分「保持」,並改變了那部分behinde。它的ajax頁面隨着WordPress的變化。 – 2012-03-06 15:59:27