我需要重定向的.htaccess從GET變量重定向到URL字符串
/search?keywords=somesearchterm
到
/search/somesearchterm
這似乎令人難以置信的基本的,但我一直在衝擊我的頭靠在了一個小時。
感謝您花時間看這個。
我需要重定向的.htaccess從GET變量重定向到URL字符串
/search?keywords=somesearchterm
到
/search/somesearchterm
這似乎令人難以置信的基本的,但我一直在衝擊我的頭靠在了一個小時。
感謝您花時間看這個。
你想用mod_rewrite實現所謂的「301重定向」。
RewriteEngine ON
RewriteRule ^/search\?keywords=somesearchterm$ /search/somesearchterm
加入正則表達式:
RewriteEngine ON
RewriteRule ^/search\?keywords=(.+) /search/$1 [R=301,L]
R=301
手段提供了301頭重定向,以便在瀏覽器用戶的URL變化,L
手段不處理任何更多的重寫規則,如果這一個匹配。
如果你想要做反向 - 換句話說,如果有人去mysite.com/search/asearchterm
和你想要的網址保持不變,但「幕後」你想讓它加載某些服務器腳本,這樣做:
RewriteEngine ON
RewriteRule ^/search/(.+) /search.php\?keywords=$1 [L]
您無法在RewriteRule指令中匹配aginst查詢字符串。使用%{THE_REQUEST}或%{QUERY_STRING}服務器變量相匹配的查詢字符串:
以下規則工作正常,這種重定向
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/search\?kewords=([^&\s]+) [NC]
RewriteRule^/search/%1? [NE,NC,R,L]
RewriteRule ^search/([^/]+)/?$ /search?keyword=$1 [QSA,NC,L]
尼斯方法和答案以及編碼的其他問題,但爲什麼這個問題不僅僅是「添加評論」,因爲你對這個問題的回答根本不是答案,鏈接是記錄你的答案,答案應該包含回答問題的信息,而不僅僅是某個其他頁面的URL – jagb 2016-09-21 17:12:35