Поиск по этому блогу

20 декабря 2009 г.

Правильный редирект 301 index.php на корень сайта “/ “

Много написано советов, но в большинстве примеров, что я нашел, редирект 301 дает ошибку 404

Но в конце концов нашел!!:

Для редиректа 301 вида "ваш_сайт/index.php" на "http://ваш_сайт/" :

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://ваш_сайт/ [R=301,L]

Для редиректа 301 вида "http://ваш_сайт/index.html" на "http://ваш_сайт/" :

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://ваш_сайт/ [R=301,L]

17 комментариев:

  1. Спасибо большое. Тоже долго искал и только благодаря Вашему примеру сделал.

    ОтветитьУдалить
  2. присоединяюсь - работает =)

    ОтветитьУдалить
  3. спасибо спасибо, это рабочий пример 301 редирект index.php

    ОтветитьУдалить
  4. Спасибо, наверное единственное рабочее решение на весь рунет

    ОтветитьУдалить
  5. как быть в случае домена в зоне рф и настроенным sh404sef на вывод урлов страниц с русскими буквами?

    ОтветитьУдалить
  6. Спасибо, работает отлично.

    ОтветитьУдалить
  7. Ура! Присоединяюсь! Сразу заработало. Спасибо! :)

    ОтветитьУдалить
  8. Благодарю! Работает! Автору респект

    ОтветитьУдалить
  9. Тот неловкий момент, когда для страниц в админке тоже срабатывает редирект и работать в ней становится невозможно

    ОтветитьУдалить
  10. Спасибо! Справился за 5 сек, всё работает, переношу в блокнот.

    ОтветитьУдалить
  11. Урраа! Заработало! Се шарман, мерси боку=)

    ОтветитьУдалить
  12. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ http://{HTTP_HOST}/ [R=301,L]

    более правильно )

    ОтветитьУдалить
  13. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php(.*)\ HTTP/
    RewriteRule ^index\.php(.*)$ http://{HTTP_HOST}/ [R=301,L]

    Так будет еще лучше, потому что встречаются и такие ссылки как:
    /index.php/component/k2/itemlist/tag/Brink.html и тп

    ОтветитьУдалить
  14. Но всё равно плохо www.site.ru/index.php/component/ редиректит на www.site.ru/, а нужно www.site.ru/component/

    ОтветитьУдалить
    Ответы
    1. так подправьте правило немного и все получится

      Удалить