我需要在URL中重定向一组具有特定参数的特定页面。我对.htaccess重定向有点熟悉,但这个让我很头疼。
TO: https://www.xxxxxx.com/index.php?page=shop.ask
这是我为重定向索引和索引2编写的规则,但是“?”之后的参数被视为OR
RewriteEngine on
RewriteRule index[0-2]*.php?page=shop.(.*)$ https://www.xxxxx.com/index.php?page=shop.ask [R]
我需要逃避'?'因为它将php作为ph或php,之后的参数不被apache考虑。
我已尝试使用REWRITECOND使用此规则,但它不起作用。
请建议正确的重定向规则。
答案 0 :(得分:0)
您需要使用RewriteCond
。尝试:
RewriteEngine On
RewriteCond %{QUERY_STRING} page=shop.ask&flypage=flypage_images.tpl&product_id=182&category_id=39&option=com_virtuemart&Itemid=9
RewriteRule ^index.php https://www.xxxxx.com/index.php?page=shop.ask [R,L]
只要您的查询字符串始终按照您指定的确切顺序显示,这就应该有效。否则,您需要为RewriteConds
组合为每个参数创建一堆[AND]
。