Переезд с oscommers на opencart [url catalog удалить]

Тема в разделе "Общие вопросы", создана пользователем Andrey_msk, 24 июн 2015.

  1. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    На старом движке oscommers путь был - http://www.мой_сайт.ru/catalog/название_категории/
    а на opencart без catalog/ http://www.мой_сайт.ru/название_категории/
    как правильнее сделать поставить редирект в htaccess или подправить путь в опенкарт?
    Просто сайт уже проиндексирован...
     
  2. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.438
    Симпатии:
    780
    вот модуль http://shop.opencart-russia.ru/ocseo-plus
    Там есть функция формирования любого пути до товара.
     
  3. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    Спасибо за ссылку. но не хочется усложнять и ставить модуль.
    Как правильно настроить редирект?

    RewriteCond %{QUERY_STRING} ^_route_=catalog/(.*)$
    RewriteRule ^(.*)$ http://www.мой_сайт.ru/? [R=301,L]

    Чего здесь не хватает?
     
  4. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    в файл \catalog\controller\common\seo_url.php
    после строки
    Код:
    $parts = explode('/', $this->request->get['_route_']);
    добавить
    PHP:
                if ($parts[0] == 'catalog') {
                    
    $aa str_replace('catalog/'''$this->request->get['_route_']);
                    
    $this->response->redirect(HTTP_SERVER .$aa301);
                }
     
    Andrey_msk и Romans нравится это.
  5. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    Работает! Спасибо! ;)
     
  6. Andrey_msk

    Andrey_msk Пользователь

    Сообщения:
    31
    Симпатии:
    6
    Еще вопрос появился. У меня старые урлы имели в конце слэш. Я в .htaccess добавил
    Код:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*[^/])$ $1/ [L,R=301]
    Слэш добавился, разделы и товары открываются, но родные страницы

    http://www.мой_сайт.ru/account/
    http://www.мой_сайт.ru/contact/

    со слешом не открываются

    Как в этом случае быть?
     
  7. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    у меня все страницы открываются. Тестирую на русской сборке.
     
  8. Mike_Freeman

    Mike_Freeman Новичок

    Сообщения:
    2
    Симпатии:
    0
    Для Opencart.pro (файл seo_pro.php) это не работает, точнее перекидывает на главную все адреса с "catalog" в url'е. Подскажите, как настроить для seo.pro?
     
  9. Ravilr

    Ravilr Специалист

    Сообщения:
    3.877
    Симпатии:
    1.064
    @Chukcha подскажет! С сеопро к нему.
     
  10. TommyEL

    TommyEL Новичок

    Сообщения:
    6
    Симпатии:
    0
    Добрый день, подскажите, пожалуйста, у меня похожая ситуация, как описана в данной теме, но мне надо получить 301 редирект с /catalog/ на /katalog/
    Тоже сайт переехал с другого движка и вся структура завязана на сайт/catalog/, я создал категорию /katalog/ , но не знаю как настроить переадресацию. Спасибо!
     
  11. Tom

    Tom Специалист

    Сообщения:
    681
    Симпатии:
    206
    Почему не сделать как что бы появилась возможность использовать именно /catalog/ ?
     
  12. TommyEL

    TommyEL Новичок

    Сообщения:
    6
    Симпатии:
    0
    А как сделать, ведь /catalog/ - это системная папка, если вы предлагаете переименовать ее, то думаю это не оч хорошая идея ( ведь в будущем всегда надо помнить/знать об этой замене
     
  13. Tom

    Tom Специалист

    Сообщения:
    681
    Симпатии:
    206
    Не нужно переименовывать папки.
    Укажите вашу версию и какая используется сборка.
     
  14. TommyEL

    TommyEL Новичок

    Сообщения:
    6
    Симпатии:
    0
    OcStore 3.0.7
     
  15. Tom

    Tom Специалист

    Сообщения:
    681
    Симпатии:
    206
    Решение для Seopro, для тех кому нужен префикс по принципу :
    сайт/catalog/категория
    сайт/catalog/категория/товар

    Префикс catalog можно сменить на любой свой.

    Подробности в ридми внутри архива.
     

    Вложения:

    karpov нравится это.
  16. TommyEL

    TommyEL Новичок

    Сообщения:
    6
    Симпатии:
    0
    Решение - отличное! Но не думаю что мне подойдет ( , так как у меня есть одна Родительская категория, которая должна иметь УРЛ /catalog - значит надо искать вариант редиректа...
     
  17. TommyEL

    TommyEL Новичок

    Сообщения:
    6
    Симпатии:
    0
    Если вдруг кому интересно. Вот решение

    нужно добавить следующий код в файл .htaccess

    RewriteEngine On
    RewriteRule ^catalog(.*)$ /katalog$1 [R=301,L]

    Этот код будет перенаправлять все запросы с /catalog на /katalog с помощью постоянного редиректа 301
     
  18. SiteMix

    SiteMix Продвинутый пользователь

    Сообщения:
    1.018
    Симпатии:
    174
    RewriteEngine On добавлять не нужно, это строка уже есть в файле.

    Вы же писали, что у вас:
    При редиректе она тоже будет перенаправляться.