X

ErrorDocument 404, 301 редирект

Задался я задачей, как вместо 404 ошибки, сделать не просто перенаправление на главную, а 301 редирект (301 - перемещено навсегда)..

Немного поигравшись с htaccess у меня получилось следующее:

ErrorDocument 404 http://www.site.com/301.html

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule 301.html http://www.site.com/ [R=301,L]

т.е. ErrorDocument перенаправляем на 301.html это будет 302 редирект, а после с 301.html перенаправляем на главную, указывая уже 301 редирект.

Интересно как отреагируют поисковики 🙂

Категории: Apache Сервера
Тэги: htaccessredirect

Комментарии (5)

  • Добрый день
    Сейчас при 404 ошибке, редирект идет на главную страницу
    А как сделать редирект при 404 ошибки на нужную мне страницу?
    joomla 2.5

    • Вместо главной указать нужную страницу, как-то так:

      ErrorDocument 404 http://www.site.com/301.html
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule 301.html http://bash.im/best [R=301,L]

  • А разве такое простое решение не подойдет?

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* / [R=301,L]

    • Я думаю, в Вашем решении все запросы будут переадресованы на главную, а в моем только те, которые получают ошибку 404.

  • Спасибо большое!!! очень искал такое решение!!!