我所有的重写都是与众不同的。当用户搜索时,我希望URL在网址栏中正确显示。
Options +FollowSymLinks
RewriteEngine on
RewriteBase /website/
RewriteCond %{THE_REQUEST} /search\?c=([^&\s]+)&s=([^&\s]+)&mincost=([^&\s]+)&maxcost=([^&\s]+)&sort_by=([^&\s]+)&colour=([^&\s]+) [NC]
RewriteRule ^search/%1/%2/%3/%4/%5/%6? [L,R]
RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ product.php?id=$1&c=$2&name=$3&page=$4 [L,QSA]
RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)/?$ product.php?id=$1&c=$2&name=$3 [L,QSA]
RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ search.php?c=$1&s=$2&mincost=$3&maxcost=$4&sort_by=$5&colour=$6&page=$7 [L,QSA]
RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ search.php?c=$1&s=$2&mincost=$3&maxcost=$4&sort_by=$5&colour=$6 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
/ website / search / category / all / 100/500 /从低到高/任意颜色
(进入网址栏时有效)
/ website / search?c = category& s = all& mincost = 100& maxcost = 500& sort_by = low-to-high& color = any-color
(显示使用过滤器和提交表单时) - 我需要此网址显示为:
/ website / search / category / all / 100/500 /从低到高/任意颜色
答案 0 :(得分:0)
您的第一个RewriteRule
不正确。替换为:
RewriteCond %{THE_REQUEST} /search\?c=([^&\s]+)&s=([^&\s]+)&mincost=([^&\s]+)&maxcost=([^&\s]+)&sort_by=([^&\s]+)&colour=([^&\s]+) [NC]
RewriteRule ^ search/%1/%2/%3/%4/%5/%6? [L,R=302,NE]
注意^
和search