Apache2 RedirectMatch – убиваем зеркала

Не зря говорят, что поисковые системы не любят зеркала типа antonoff.info == www.antonoff.info

Нужно удалять хосты без www или ставить редирект.

Естественно, ставить редирект - предпочтительней

Поставить умный редирект достаточно просто. Если вы открыли host.ru/something – вас должно перекинуть на www.host.ru/something , при этом, в ответе должен быть правильный статус – 301 Moved Permanently.

Для таких вещей в Apache предусмотрена директива RedirectMatch. Вот пример использования:


<VirtualHost *>
        ServerName antonoff.info
        DocumentRoot /var/www/redirects
        ServerAdmin nobody@example.com
        RedirectMatch permanent ^(.*)$ http://www.antonoff.info$1
</VirtualHost>

Комменты

  • 05.03.2011 15:11:16 Евгений:
    А можно это сделать через .htaccess?
  • 17.03.2011 08:04:38 Maxim:
    Да,можно! RedirectMatch может быть описан в контексте .htaccess
  • 12.05.2011 08:32:58 Takizka:
    А можете подробней описать синтаксис?
    И используемые символы. То есть примеров в сети я нашла множество, а подробного описания что есть что - нигде
    RedirectMatch(функция) permanent(значение) ^(.*)$(откуда перенаправлять) http://www.antonoff.info$1(куда перенаправлять) - так?

    а что в данном случае есть ^(.*) и чем именно это отличается от например /(.*) ?
  • 19.09.2012 12:46:08 BeeM4n:
    ^ привязка к началу строки, ? привязка к концу, т.е. в первом случае ищет от начала, во втором от конца. (.*) - переменная. в адресе редиректа вставляются $1,$2 и т.д.