我在网上搜索轮胎,我有3个要搜索的参数:宽度,切片和koter(半径)
我希望在搜索到这个网址后指示: example.com/tires/width/sliceR/koter - > example.com/tires/205/55R/16
我从用户那里获得的值只是数字,例如: 宽度:205 切片:55 koter(半径):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]
但它没有工作......我在最后一个网址中遇到了问题: 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没有重定向到友好网址。
谢谢你,对不起我的无知
答案 0 :(得分:1)
您可以在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]