301 редирект с www на без www -> Какой хостинг выбрать -> Обработка сообщений об ошибках

Как создать файл .htaccess

Настройка файла .htaccess – это одна из первых задач, которую следует выполнить после установки ресурса на хостинг. В этой статей перечислены наиболее часто встречающиеся коды, необходимые для настройки сайта, а предоставлены ответы на вопросы новичков, которые впервые столкнулись с необходимостью настройки .htaccess.

Как создать файл .htaccess

Создать в Windows текстовый файл и переименовать его в .htaccess невозможно, так как операционная система не позволит вам сделать этого. Поэтому просто создайте текстовый блокнот с любым именем и расширением .txt, впишите туда необходимые команды, а затем загрузите его при помощи FTP на хостинг, где уже и переименовывайте его в .htaccess.

Второй способ – открыть текстовый блокнот или более удобный Notepad++, вписать туда необходимые коды и сохранить файл с расширением .htaccess. Тогда не нужно будет ничего переименовывать.

Третий способ создать файл .htaccess – изначально сделать это на хостинге, где не будет трудностей с созданием файла с таким названием.

301 редирект с www на без www

Обязательный код, необходимый любому сайту, который укажет поисковым роботам, что по адресам www.site.ru и site.ru находится один и тот же web-ресурс, а не два разных проекта.

Для редиректа с www на домен без www, добавьте в .htaccess код

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

Соответственно, код для редиректа на домен с www:

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

После того, как вы внесли изменения в .htaccess, откройте свой сайт и проверьте, перебрасывает ли вас на нужный адрес.

Редирект с index.html и index.php

Довольно распространенная ошибка в настройке сайта – отсутствие редиректа с index.html и index.php, в результате чего поисковые системы индексируют главную страницу по двум адресам, что может заметно ухудшить ее позиции. Предупредить это можно простым кодом в .htaccess:

#в случае index.php:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site/ [R=301,L]

#в случае index.html:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://site/ [R=301,L]

Обработка сообщений об ошибках: .htaccess 404, 403, 401, 500

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

Чтобы предупредить это, создайте на хостинге специальные страницы, где простым и понятным языком укажите пользователю, что ему следует сделать. Например, на странице 404.shtml можно указать информацию о том, что данный документ не существует, и предложить продолжить просмотр сайта с главной страницы.

Затем добавьте в .htaccess следующие строки:

ErrorDocument 404 http://site.ru/404.shtml
ErrorDocument 403 http://site.ru/403.shtml
ErrorDocument 401 http://site.ru/401.shtml
ErrorDocument 500 http://site.ru/500.shtml

Предупреждаем хотлинг изображений

Более подробно о том, что такое хотлинг или личинг изображений, можно прочесть в статье <a href="https://seo-praktika.com/kak-zaschitit-tekst-na-site.html">Как защитить текст на сайте</a>. Здесь же мы приведем коды для .htaccess, позволяющие защитить сайт от того, чтобы расположенные на вашем сервере изображения, использовались другими ресурсами.

Полный запрет использования изображений


RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.*)?site\.ru/.*$ [NC]
RewriteRule \.(jpg|jpeg|png|bmp|gif|swf|css|js)$ - [NC,F,L]

Код, позволяющий отдавать специальную картинку, указывающую на хотлинг

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.*)?sіte\.ru/.*$ [NC]
RewriteRule \.(jpe?g|png|bmp|gif)$ /hotlink.jpg [NC,R,L]

Отдаем хотлинкеру большой файл, который, наверняка, приведет к тому, что его страницы будут загружаться очень долго. Особенно хорошо для этого подходят всевозможные карты размером до нескольких сотен мегабайт.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.*)?sіte\.ru/.*$ [NC]
RewriteRule \.(jpe?g|png|bmp|gif)$ http://hosting-image/big.jpg [NC,R,L]

.htaccess html как php

Зачастую владельцы сайтов на чистом html сталкиваются с необходимостью использования в своих страницах php-кода. Сделать это довольно просто – добавьте в .htaccess следующий код:

AddHandler application/x-httpd-php .php .html .htm

Это позволит, например, добавить код биржи ссылок (Sape, Linkfeed) на сайт, состоящий исключительно из html-страниц.


Меню сайта

Как создать файл .htaccess
Как создать файл .htaccess