我的原始网址是:
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 RewriteRule中,但后来我得到了相反的结果。
我该如何解决这个问题?
答案 0 :(得分:1)
做出你想做的事情是一个很好的决定 但是你将遇到一个循环问题。
您可以使用此代码
来避免它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]