Правильный переписать htaccess - PullRequest
0 голосов
/ 13 июля 2011

Я пытаюсь заставить старый URL перейти на новый URL, и мой код, похоже, не действует

RewriteCond %{QUERY_STRING}  ^index2\.php?page=shop\.product_details&\.tabs\.tpl&product=310&category=71&Itemid=2$

RewriteRule .*  /hunting/back-packs/multi-packs/black-2.5-pack.html [R=301,L]

мой старый адрес

www.mywebsite.com/index2.php?page=shop.product_details&.tabs.tpl&product=310&category=71&Itemid=2 

а мой новый

www.mywebsite.com/hunting/back-packs/multi-packs/black-2.5-pack.html

Мой код ничего не нарушает, но и не работает

Заранее спасибо

1 Ответ

0 голосов
/ 13 июля 2011

Как я понимаю, вы хотите перенаправить (301 Permanent Redirect), чтобы URL-адрес изменился в браузере.Это будет работать для этого URL ТОЛЬКО /index2.php?page=shop.product_details&.tabs.tpl&product=310&category=71&Itemid=2:

RewriteCond %{QUERY_STRING} =page=shop.product_details&.tabs.tpl&product=310&category=71&Itemid=2 [NC]
RewriteRule ^index2\.php$ http://www.mywebsite.com/hunting/back-packs/multi-packs/black-2.5-pack.html [R=301,L]

Если вы хотите внутренний редирект ( переписать ), тогда используйте этилинии:

RewriteCond %{QUERY_STRING} =page=shop.product_details&.tabs.tpl&product=310&category=71&Itemid=2 [NC]
RewriteRule ^index2\.php$ /hunting/back-packs/multi-packs/black-2.5-pack.html [L]

ОБРАТИТЕ ВНИМАНИЕ:

  1. Вам необходимо расположить эти строки в правильном порядке ( порядок правил имеет значение ) в противном случае (если вы поставите его в конце) какое-то другое правило перезапишет его на другой URL.
  2. Это должно быть помещено в файл .htaccess в корневой папке веб-сайта.Для любого другого места вам может потребоваться немного изменить его.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...