我在我的网站上搜索轮胎,我有3个参数要搜索:宽度,切片,和koter(半径)
我希望在搜索后直接指向此URL:
example.com/tires/width/slicer/koter->example.com/tires/205/55r/16
我从用户那里得到的值只是数字,比如:
宽度:205
切片:55
科特(半径):16
我写这段代码:

RewriteRule ^tires/$ /tires.php [L]
RewriteRule ^tires/([0-9/]+)/([^/]+)/([0-9/]+)$ /tires.php?width=$1&slice=$2&koter=$3 [L]


RewriteCond %{QUERY_STRING} ^width=(\w+)&slice=(\w+)&koter=(\w*)$
RewriteRule ^ http://example/tires/%1\/%2\/%3? [R,L]

但没用…最后一个url中的/有问题:
http://example.com/tires/15/15R/15/-正在工作
http://example.com/tires/15/15R/15-不工作
而且,我也有双重数字的问题:
example.com/tires.php?width=205&slice=55&koter=17.5没有重定向到友好的url。
谢谢你,对不起我的无知

最佳答案

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/+tires\.php\?width=([^\s&]+)&slice=([^\s&]+)&koter=([^\s&]+) [NC]
RewriteRule ^ tires/%1/%2/%3? [R=302,L,NE]

RewriteRule ^tires/$ tires.php [L]
RewriteRule ^tires/([0-9.]+)/([^/]+)/([0-9.]+)/?$ tires.php?width=$1&slice=$2&koter=$3 [L,QSA]

09-03 21:10