我一直在尋找一些東西,但不幸的是,當涉及到這個問題時,我仍然處於虧損狀態,並且與.htaccess的老手很遠,我一直無法工作解決我的問題。將特定參數重定向到子文件夾
該平臺是Wordpress,但由於我相信這個問題可以用.htaccess解決,我認爲這不應該有很大的不同。
我需要重寫搜索時,他們是一個更友好的URL結構,不幸的是,只是改變?s =測試到/搜索/測試不會削減它。我需要從搜索中拉出3個參數並將它們用作子文件夾,然後將其餘參數附加到搜索結尾。這裏有一個例子:
舊的URL:
http://www.XXXXX.com/?s=Ford&z=59105&ci=Billings&st=MT&r=450&m=15000&pmin=1000&pmax=30000&status=Used&submit=Refine
新的URL:
http://www.XXXXX.com/search/Used/MT/Billings/?s=Ford&z=59105&r=450&m=15000&pmin=1000&pmax=30000&submit=Refine
正如你所看到的,參數 「狀態」, 「ST」 和 「詞」 分別被插入到後面的所有其餘參數的URL。
所以基本上,我需要將舊的url重定向到新的url,但是新的url會顯示對應於舊url的頁面。
我已經得到了以下迄今爲止寫的:(編輯:*更改{QUERY_STRING}爲[L,QSA]由爆炸丸*建議)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?search/([^/]+)/([^/]+)/([^/]+)/?s=([^/]+)?$ /index.php?s=$4&ci=$3&st=$2&status=$1 [L,QSA]
而且這樣的作品;您可以輸入新的網址並顯示該頁面,但似乎「已用」目錄沒有正確發佈數據。這也只是謎題的一半,因爲它不會將舊網址重定向到新網址。它很簡單,允許新的URL存在。
非常感謝您的幫助!這一次讓我難倒了好幾天。現在。
代替使用'%{QUERY_STRING}'當您將'[L]'更改爲'[L,QSA]' – 2013-04-26 16:59:36
完成!感謝提示,爆炸! – DEUTSCHWULF 2013-04-26 17:03:54