2013-04-26 46 views
1

我一直在尋找一些東西,但不幸的是,當涉及到這個問題時,我仍然處於虧損狀態,並且與.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存在。

非常感謝您的幫助!這一次讓我難倒了好幾天。現在。

+1

代替使用'%{QUERY_STRING}'當您將'[L]'更改爲'[L,QSA]' – 2013-04-26 16:59:36

+0

完成!感謝提示,爆炸! – DEUTSCHWULF 2013-04-26 17:03:54

回答

1

你可以在根目錄中的一個.htaccess文件試試這個:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{QUERY_STRING} s=([^&]+)&z=([^&]+)&r=([^&]+)&m=([^&]+)&pmin=([^&]+)&pmax=([^&]+)&submit=([^&]+) [NC] 
RewriteCond %{REQUEST_URI} !index\.php [NC] 
RewriteRule ^search/([^/]+)/([^/]+)/([^/]+) /index.php?s=%1&z=%2&ci=$3&st=$2&r=%3&m=%4&pmin=%5&pmax=%6&status=$1&submit=%7 [L,NC] 

地圖默默:

http://www.XXXXX.com/search/Used/MT/Billings/?s=Ford&z=59105&r=450&m=15000&pmin=1000&pmax=30000&submit=Refine 

http://www.XXXXX.com/index.php?s=Ford&z=59105&ci=Billings&st=MT&r=450&m=15000&pmin=1000&pmax=30000&status=Used&submit=Refine 

對於永久重定向,更換[L, NC]與[R = 301,L,NC]

+0

該映射完美無缺!雖然我注意到,當我輸入新的URL時,它會重定向到原始搜索,而不是保留漂亮的URL。另外,我能做些什麼來強制所有搜索重定向/符合新的URL結構嗎? – DEUTSCHWULF 2013-04-26 18:28:16

+0

發佈後幾分鐘我修改了我的答案,請確保您有最新版本。所請求的URL總是顯示在瀏覽器的欄中。如果您希望重定向的URL顯示,請按照答案中的指示使用永久重定向。假設所有字符串都是動態的,所以任何具有類似URL結構的請求都應該有效。 Fah; – 2013-04-26 18:32:01

+0

看起來不錯,Faa;該映射現在運行良好,並且URL保持其需要的方式。你不會碰巧有建議將所有訪問舊網址結構的流量都發送到新的網址結構中嗎?我想確保在使用網站搜索時,新的網址結構始終保持不變。 – DEUTSCHWULF 2013-04-26 19:13:04

相關問題