Злосчастный index.php?route=common/home/

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Freeman Liberty, 3 май 2015.

  1. Freeman Liberty

    Freeman Liberty

    Регистр.:
    19 май 2009
    Сообщения:
    457
    Симпатии:
    171
    На сайте работающем на OpenCart каким то непонятным образом (ссылок на нее нигде нет) оказалась проиндексирована страница http://yoursite.ru/index.php?route=common/home/ - дубль главной страницы.

    Пробовал несколько разных способов настройки 301 редиректа на главную, например
    RewriteCond %{QUERY_STRING} ^route=common/home$
    RewriteCond %{REQUEST_METHOD} !^POST$
    RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]
    или
    RewriteCond %{QUERY_STRING} ^route=common/home$
    RewriteCond %{REQUEST_METHOD} !^POST$
    RewriteRule ^index\.php$ http://www.yoursite.ru? [R=301,L]

    Не работает.
    Подскажите рабочий вариант 301 редиректа.
     
  2. world-tour

    world-tour Постоялец

    Регистр.:
    25 апр 2015
    Сообщения:
    78
    Симпатии:
    57
    Вот тут решение Вашей проблемы
     
  3. Freeman Liberty

    Freeman Liberty

    Регистр.:
    19 май 2009
    Сообщения:
    457
    Симпатии:
    171
    Читал я этот топик, там нет рабочего варианта для .htaccess
     
  4. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    188
    Симпатии:
    227
    Если внимательно присмотреться, то можно заметить в искомой строке есть слеш после home,
    а в шаблоне поиска сразу после home стоит знак $ обозначающий конец строки.
    Или удалить в шаблоне $ или добавить слеш после home.
     
    Freeman Liberty нравится это.
  5. Freeman Liberty

    Freeman Liberty

    Регистр.:
    19 май 2009
    Сообщения:
    457
    Симпатии:
    171
    Отлично, спасибо.
    А как сделать чтобы работало не зависимо от того есть слеш после home или нет ?
     
  6. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    188
    Симпатии:
    227
    Достаточно не ставить $.
    Код:
    RewriteCond %{QUERY_STRING} ^route=common/home
    
    Такой шаблон совпадает со строками
    route=common/home
    route=common/home/
    route=common/homeBlaBla