初始页面的重定向工作,但下一页显示旧的url在浏览器中


Redirect for initial page works,but the next page shows the old url in the browser

我有以下。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] 

directory .php的重定向?工作得很好,但当我想去这个类别的下一页,所以保持^比较/类别名称与这个代码给我的下一页^比较/page/1/1/1,结果下一页正在寻找类别1,它应该是寻找类别类别名称。有没有一种方式来表达:^比较/页面/1/8/类别的名字吗?8只是总行数,1显然是页码,Category是Category的名称。下一页是用php创建的dreamweaver导航栏。欢迎帮忙

这是由于你错误的第一个规则,你再次使用%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]