RewriteCond %{THE_REQUEST} " /(.*)component/jshopping/product/view/123/725(.*) " RewriteRule ^ http://site.ru/test.html? [R=301,L]
Спасибо, ваш код работает!
Да, для каждой. Не вручную - написан скрипт на php, который генерирует для каждой ссылки. Мне бы рабочий пример только :)
Я проверял - не работает. Если бы ссылки были без этого ?itemid то мой код работает. А с ними ноль реакция, даже когда экранирую знак вопроса.
У меня в голове только единственный вариант через php проверять урл, отрезать ?itemid перенаправлять на урл без него, а дальше уже моим кодом. В итоге будет перенаправлять куда надо, но это не 301 редирект и вес страниц, как понимаю, потеряется.---------- Добавлено 20.10.2016 в 18:28 ----------
Был сделан редизайн сайт. С joomla перешли на opencart - itemid это наследие предыдущих разработчиков, судя по тому, что сделали с урлами - мастерами сео :)---------- Добавлено 20.10.2016 в 18:29 ----------Может есть вариант через .htaccess 301 редиректом отправлять на урл с отрезанным в конце ?itemid а дальше уже мои кодом?
Ссылки такого вида
component/jshopping/product/view/123/725?Itemid=0
component/jshopping/product/view/5/23?Itemid=0
Например, 123/725 - первая это id категории, второе id товара
?Itemid=0 - не знаю зачем там, но есть во всех ссылках каталога в конце.
Надо редирект с таких ссылок на новые чпу
Экранирование не помогло.---------- Добавлено 20.10.2016 в 15:02 ----------
RewriteCond %{QUERY_STRING} ^Itemid=0.*$ RewriteRule ^(.*)$ test.html [R=301,L]
Ваш код не помог.
Большое спасибо.
Но увы не работает.
А можно как нибудь удалять из урла ?Itemid=0
А уже потом моим редиректом?
Здравствуйте,
Подскажите, пожалуйста, как сделать редирект 301 через .htaccess для ссылок вида
http://site.ru/component/jshopping/product/view/123/725?Itemid=0
http://site.ru/test.html
Делаю так:
RewriteCond %{QUERY_STRING} ^_route_=component/jshopping/product/view/123/725?Itemid=0$RewriteRule ^(.*)$ http://site.ru/test.html? [R=301,L]
Но не работает с ?Itemid=0. Без него перенаправляет на вторую ссылку.
Сделал через java
RewriteCond %{REQUEST_URI}?%{QUERY_STRING} =/itemnews.php?idn=300 RewriteRule ^ http://fish/test2.html? [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\ /itemnews.php\?idn=300\ HTTP RewriteRule ^ http://fish/test2.html? [L,R=301]
Огромнейшее спасибо, jkm!
Огромное спасибо! Уже сам дошел, что надо использовать RewriteCond/RewriteRule, но на этом месте завис. Еще раз спасибо, siv1987.