.перенаправление htaccess на определенный маршрут

Мне нужно перенаправить набор определенных страниц с определенными параметрами в URL. Я немного знаком с .перенаправление htaccess, но это дает мне головную боль.

Я хочу перенаправить https://www.xxxxxx.com/index.php?page=shop.ask&flypage=flypage_images.tpl&product_id=182&category_id=39&option=com_virtuemart&Itemid=9

К:
https://www.xxxxxx.com/index.php?page=shop.ask

Это правило, которое я написал для перенаправления индекса и index2, но параметры после «?»принимаются как ор

RewriteEngine on

RewriteRule index[0-2]*.php?page=shop.(.*)$ https://www.xxxxx.com/index.php?page=shop.ask [R]

I need to escape the’?’as its taking the php as ph or php and the parameters after that are not being taken into considered by The apache.

Я пытался использовать REWRITECOND, а также с помощью этого правила, но это не работает.

Пожалуйста, предложите правильное правило перенаправления.

1 ответ

  1. Вам нужно использовать 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]