htaccess seo url 对 \ 和 / 友好
htaccess seo url friendly with \ and /
我在我的网站上搜索了轮胎,我有 3 个参数要搜索:宽度、切片和 koter(半径)
我希望在搜索后直接转到 url:
例子.com/tires/width/sliceR/koter -> 例子.com/tires/205/55R/16
我从用户那里得到的值只是数字,例如:
宽度:205
切片:55
科特(半径):16
我写这段代码:
RewriteRule ^tires/$ /tires.php [L]
RewriteRule ^tires/([0-9/]+)/([^/]+)/([0-9/]+)$ /tires.php?width=&slice=&koter= [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 friendly.
谢谢你,对不起我的无知
您可以在 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=&slice=&koter= [L,QSA]
我在我的网站上搜索了轮胎,我有 3 个参数要搜索:宽度、切片和 koter(半径)
我希望在搜索后直接转到 url: 例子.com/tires/width/sliceR/koter -> 例子.com/tires/205/55R/16
我从用户那里得到的值只是数字,例如: 宽度:205 切片:55 科特(半径):16
我写这段代码:
RewriteRule ^tires/$ /tires.php [L]
RewriteRule ^tires/([0-9/]+)/([^/]+)/([0-9/]+)$ /tires.php?width=&slice=&koter= [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 friendly.
谢谢你,对不起我的无知
您可以在 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=&slice=&koter= [L,QSA]