Задача сделать 301 редирект с www на без www возникает постоянно. Потому, что настройки хостингов делают сайты с www и без www синонимами. С точки зрения администрирования оно так и есть, но для поисковых систем, это будут 2 сайта с одинаковым контентом.

Поэтому важно сделать 301 редирект с www на без www (или наоборот 301 редирект с без www на с www, как больше нравится), для того, чтобы указать поисковой системе, что сайт один, а не два.

301 редирект с www на без www можно сделать 2-мя способами.

Как сделать 301 редирект с www на без www на htaccess

На htaccess — это самый простой и доступный способ. Главное, чтобы htaccess можно было править на вашем хостинге (но это сейчас можно практически везде).

Итак:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]

Замените site.com на название вашего сайта, и при обращении на сайт с www будет происходить 301 редирект с www на без www.

Как сделать 301 редирект с www на без www на PHP

Тут все гораздо сложнее, но всё же, попробуем. Нужно добавить в самый верх файла index.php следующий код. При обращении на сайт по ссылке с www пользователя перекинет на сайт без www.


if(strpos('www.',$_SERVER['HTTP_HOST'])!==false){
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://site.com”);
exit();
}

Но, у этого способа есть много минусов. Самый главный — это что если человек перейдет на внутреннюю страницу, то его перебросит на главную страницу без www.

Выгоднее и удобнее использовать способ с htaccess.


А ещё лучше обратится за помощью к профессионалам, которые, например, оказывают услугу создание сайтов саратов. Профи всегда точнее знают что и как сделать на сайте, чтобы он правильно работал и продвигал ваш бизнес.