RewriteCond 3位或更多位

时间:2014-12-22 10:19:38

标签: .htaccess mod-rewrite redirect

我创建了301重定向,但由于某种原因,3位数被忽略,它使用2位重定向。看起来它正在读取前两位数

RewriteRule ^product_info\.php$ http://www.domain.com.com/products [R=301,L]
RewriteCond %{QUERY_STRING} ^products_id=31
RewriteRule ^product_info\.php$ http://www.domain.com.com/ [R=301,L]
RewriteCond %{QUERY_STRING} ^products_id=314

1 个答案:

答案 0 :(得分:1)

你有条件和重写规则被颠倒过来。尝试:

RewriteCond %{QUERY_STRING} ^products_id=31$
RewriteRule ^product_info\.php$ http://www.domain.com.com/products? [R=301,L]

RewriteCond %{QUERY_STRING} ^products_id=314$
RewriteRule ^product_info\.php$ http://www.domain.com.com/? [R=301,L]

另请注意在规则中尾随?以删除现有查询字符串。