Убираем дубли в nginx — index и www

Привет дорогие читатели, расскажу Вам сегодня немного о настройке Джинксе под наши любимые поисковики, которые не любят дубли страниц. Инфа специально для тех у кого установлен чистый nginx без связки с Apache и правила rewrite в .htaccess не применяются.

И так, поехали. Открываем конфиг, у меня стоит CentOS 6, поєтому его путь такой: /etc/nginx/nginx.conf
Находим ваш сайт, обычно настройка конкретного домена начинается с директивы

server {

Далее находим параметр server_name вашсайт.ком
Если тут у вас прописан домен так: server_name вашсайт.ком www.вашсайт.ком
то, Вам необходимо убрать www.вашсайт.ком и далее следовать инструкцией.

Выше директивы

server {

создаёте еще одну и вписываете в неё такие данные

server {
            server_name www.вашсайт.ком;
            rewrite ^(.*) http://вашсайт.ком$1 permanent;
        }

После этого nginx будет перенаправлять все запросы c www на без www, и это собственно то, чего мы добивались. Но не будем расслабляться, index.php нам тоже ни к чему. Чтобы убрать index.php и index.html из адресной строки нужно провести всего лишь одну нехитрую манипуляцию. Внутри основной директивы server добавляем:

if ($request_uri ~ "^/index.(php|html?)") {
            rewrite ^ /$1 permanent;
        }

Теперь у нас практически идеальный сайт с точки зрения Яндекса и Гугла. Шучу конечно, до идеала еще далеко. Но в следующих моих записях я расскажу о кешировании, и о том как оно влияет на параметр скорости загрузки Google PageSpeed.

P.S. Не забывайте перезагружать nginx после изменений в конфиге иначе ничего не изменится. Удачи!

2 комментария

  1. User says: -

    Good! Thx

  2. Имя says: -

    index.php убрали, молодец, а как убрать /? ?

Leave A Reply