Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

301 редирект добавялет роут в конце


Recommended Posts

Добрый день.

При создании редиректа в htaccess перенаправляет на неверную страницу.

Пример: делаю редирект со страницы http://fishekb.ru/catalog/snegokhody-tayga/ на http://fishekb.ru/mototexnika/snegohody/snegohody-russkaya-mehanika/snegoxody-tajga/

Но при переходе на старую страницу открывается страница вида - http://fishekb.ru/mototexnika/snegohody/snegohody-russkaya-mehanika/snegoxody-tajga/?_route_=catalog/snegokhody-tayga/

 

Почему то добавляется ?_route_=catalog/snegokhody-tayga/ в конце url.

В инете рекомендуют делать редирект более сложным правилом:

RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$

RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? [R=301,L]

 

Но если категорий много, это займет много времени. 

Есть ли более быстрое решение для исключения части url,таких как эта  - ?_route_=catalog/snegokhody-tayga/

 

Заранее спасибо за ответы.

Надіслати
Поділитися на інших сайтах


Нашел решение в одну строку вместо двух для редиректа:

RewriteRule старая-категория/(.*)$ новая-категория/$1 [R=301,L]

Думал может кто то реализовывал, чтобы ненужный роут автоматически убирался при загрузке страницы, по аналогии с удалением / на конце.

Может кто то подсказать как такое regex составить? Чтобы в конце url часть  ?_route_=catalog/* просто удалялась?

Надіслати
Поділитися на інших сайтах


Не подходит такой редирект -  RewriteRule старая-категория/(.*)$ новая-категория/$1 [R=301,L]

Из за него ссылки на картинки в товарах тоже редиректятся на несуществующие адреса. Убрал пока такие перенаправления.

Может кто то все таки знает, как сделать верный редирект со старых категорий на новые в Opencart, чтобы удалить часть url -  ?_route_=catalog/старая-категрия/ ?

Надіслати
Поділитися на інших сайтах


В 18.01.2017 в 22:11, shankara сказал:

Почему?

сами же ответили

потому что применяется абсолютно ко всему, а через месяц может обнаружиться что косячная директива вызвала кучу проблем

Надіслати
Поділитися на інших сайтах

Сделал таким образом все редиректы:

RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$

RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? [R=301,L]

Теперь все хорошо. 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.