301 redirect для Opencart это сплошная головная боль для разработчиков и владельцев магазинов. Если делать это стандартным способом через .htaccess в одну строку, то получим на выходе странный url и несуществующую страницу. Странный он потому что редирект якобы пошел, но в конце нового адреса у нас прицепляется хвост ?_route_=.. Всему виной идет строка RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Решается эта проблема несколькими способами, либо правим оригинальный код opencart-а в файле .htaccess, либо на каждое условия переадресации у нас будет 3 строки кода. Это очевидно неудобно и слишком сложно.
Хочу обратить внимание что написана более новая статья по 301 редиректам на моем другом сайте: https://microdata.pro/opencart-dev/301-redirect
Рекомендую как статью, так и сам сайт, на нем много чего можно почитать полезного.
В процессе работы с движком и выполнения множества заказов я задумался о удобной системе редиректов. Главным условием было простота и работоспособность. Первое что пришло в голову это смотреть на альтернативные способы 301 редиректа, а именно на php. Было принято решение написать свой редиректор для Opencart.
Преимущество модуля
- Условия для редиректов прописываются прямо в админке!
- Установка модуля пару секунд, ничего нигде настраивать не нужно
- Работает на всех версиях Opencart 1.x-2.x
- Никакие файлы не перезаписываются и ничего не надо править.
После установки модуля переходим в настройки магазина и в первой вкладке у нас появится поле ввода условий в формате
old-url==new-url old2==new2 ...
То есть новый редирект пишем с новой строки и разделяем от куда и куда двойным символом равно «==» В общем все предельно просто.
Как скачать модуль
Бесплатно скачать модуль можно здесь https://opencartforum.com/files/file/2908-menedzher-301-redirektov/