我在我的网站上搜索轮胎,我有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]