2014-06-15 185 views
1

我原來的網址是這樣的:重定向URL GET變量

wwww.domain.com/car-details.php?merk=BMW&model=X5&titel=sale&car_id=3 

我把它改寫成這樣:

wwww.domain.com/BMW/X5/sale/3 

通過把這個在我的.htaccess:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/(.*)/(.*)/([0-9]+)?$ /car-details.php?merk=$1&model=$2&titel=$3&car_id=$4 [L,QSA] 

當我放入Url wwww.domain.com/car-details.php?merk=BMW & model = X5 & titel = sale & car_id = 3它仍然有效。我想該網址被重定向到wwww.domain.com/BMW/X5/sale/3

我試圖把[R]國旗在我的htaccess重寫規則,但隨後我得到相反的結果。

我該如何解決這個問題?

回答

1

這是一個很好的決定去做你想做的事。
但是你會面臨一個循環問題。 www.domain.com////?merk=BMW&model=6-Serie&titel=:

您可以通過使用此代碼

RewriteEngine on 

RewriteCond %{THE_REQUEST} \s/car-details\.php\?merk=([^&]+)&model=([^&]+)&titel=([^&]+)&car_id=([0-9]+) [NC] 
RewriteRule . /%1/%2/%3/%4? [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([0-9]+)?$ /car-details.php?merk=$1&model=$2&titel=$3&car_id=$4 [L] 
+0

現在我正在使用的代碼後得到這個避免BMW-3-serie-in-goede-staat!&car_id = 1然後我收到我的index.php頁面 – user3450364

+0

我在代碼中犯了一個錯誤,很抱歉。我編輯了我的答案,你可以再試一次新代碼嗎?這應該現在工作... –