我有以下.htaccess代码:
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} \s/+Category\.php\?pageNum_RS_Search=([^\s&]+)&totalRows_RS_Search=([^\s&]+)&Category=([^\s&]+) [NC]
RewriteRule ^ /Compare/page/%1/%1/%1? [R=301,L]
RewriteCond %{THE_REQUEST} \s/+Category\.php\?Category=([^\s&]+) [NC]
RewriteRule ^ /Compare/%1? [R=301,L]
RewriteCond %{THE_REQUEST} \s/+product\.php\?id=([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)?$ product.php?id=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Compare/([^/]+)/?$ Category.php?Category=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Compare/page/([^/]+)/([^/]+)/([^/]+)/?$ Category.php?pageNum_RS_Search=$1&totalRows_RS_Search=$2&Category=$3 [L,QSA]
Category.php?Category = ..的重定向工作正常,但是当我想转到此类别的下一页时,请使用此代码将^ Compare / Category name保留到下一页给我 ^比较/ page / 1/1/1,结果下一页正在寻找类别1,它应该寻找类别类别名称。有没有办法表明: ^比较/ page / 1/8 /类别名称? 八个只是总行数,1显然是页码,类别是类别名称。 下一页是使用php使用dreamweavers导航栏创建的。 欢迎任何帮助
答案 0 :(得分:0)
这是由于你的错误的第一条规则,你再次使用%1
&再次代替%2
和%3
。
应该是这样的:
RewriteCond %{THE_REQUEST} \s/+Category\.php\?pageNum_RS_Search=([^&]+)&totalRows_RS_Search=([^&]+)&Category=([^\s&]+) [NC]
RewriteRule ^ /Compare/page/%1/%2/%3? [R=301,L]