Зачем сайту файл .htaccess

Незаменимый для сайта файл .htaccess, который, с английского языка — hypertext access переводится, как — гипертекстовой доступ применяется на хостинге для удобной и легкой настройки веб-сервера. Как известно на этих серверах хостятся сайты пользователей и Интернет-ресурсы крупных компаний. Следовательно, с изменением настройку данного файла изменяется и работа сайта.

Важно отметить, что текстовой файл .htaccess работает исключительно на веб-сервере Apache. 

Как всем известно веб-сервер — это виртуальная программа обрабатывающая запросы пользователей через браузер (мы их увидим уже, как готовые HTML-страницы).

Что такое файл .htaccess и зачем он вообще сайту?

Следовательно, веб-сервер — это мост между гостями сайта и файлами ресурса пользователей, которые размещены на отдельном сервере. Таким образом, он будет обрабатывать данные файлы, и предоставляет нам в виде симпатичной страницы с помощью Интернет-браузера.

Именно для веб-сервера Apache существует 2 основных варианта настройки для правильной работы. Первый основной файл для настройки сервера функционирует под названием httpd.conf.

«Сведение: Данный файл самый основной и довольно сложный, который настраивает всю правильную работу самого сервера, поэтому для обычных пользователей доступа до него не предусмотрен.«

Но для обычных пользователей у которых нет необходимых специальных знаний разработан простой текстовой файл под названием .htaccess.

«Именно с его помощью они могут изменить настройки для сервера, вернее для работы своего сайта. Пользователи могут сделать это созданием простых команд для сервера и вносить изменения когда требуется.»

С помощью данного текстового файла, можно реализовать:

  • осуществлять перенаправления;
  • создавать запреты к определенному файлу или каталогу;
  • или создать другие соответствующие команды для Апачи.

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

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

Как уже данный файл находится в корне сайта, но иногда просто его не видно, чтобы увидеть файл нужно использовать опцию «Указать скрытые файлы» после чего файл появится. Также иногда его просто может не быть:

  • тогда его нужно создать,
  • загрузить в корневой каталог сайта,
  • и правильно настроить.

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

Чтобы проверить работоспособность файла htaccess, не нужно лазить в сети и искать ответ на вопрос — «Как проверить работает ли файл .htaccessПросто можно открыть файл в редакторе и добавить в первую строчку любое непонятное слово для сервера, например, yabot, если после этого сайт станет нормально функционировать, как и раньше, значит файл не работает. В том случае если появится ошибка  — 500 Internal Server Error — значит все в порядке файл .htaccess, на вашем сайте работает.,

Как уже говорили, файл htaccess, также можно создать, при его отсутствии. Просто нужно иметь в виду, что имя файла должна начинаться с точки и содержать маленькие латынские буквы в виде: htaccess. Так, как файл является текстовым файлом то его можно создать на текстовом редакторе, например на стандартном редакторе «Блокнот» от Windows, а потом загрузить файл на ХОСТИНГ. В том случае если вы создали чистый файл вот его стандартный правильный код:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Что можно сделать с помощью файла .htaccess?

Во первых с помощью данного файла можно реализовать запреты.

Если прописывать следующие фразы запрещен веб доступ к папку сайта и ко всем директориям ресурса:

Order Deny,Allow

Deny from all

Если прописывать следующие фразы запрещен веб доступ к папку сайта и ко всем директориям ресурса кроме указанной IP :

order deny,allow

deny from all

allow from xxx.xxx.xxx.xxx

Если прописывать следующие фразы запрещается веб доступ для указанной IP к папку сайта и ко всем директориям ресурса:

Order allow,deny

Allow from all

Deny from xxx.xxx.xxx.xxx

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

<files myfile.html>

order allow,deny

deny from all

</files>

Также можно защищать от злоумышленников wp-config.php сайта, это важно потому, что данный файл содержит информации и данные о базе данных сайта.

<Files wp-config.php>

order allow,deny

deny from all

</Files>

И это не все! Некоторые пользователи чтобы полноценно защитить свой сайт и регистрированный домен осуществляют запрет на самого файла .htaccess:

<Files .htaccess>

order allow,deny

deny from all

</Files>

Также можно создать специальные страницы популярных ошибок и перенаправлять пользователей на данные страницы. Просто прежде чем прописывать данные директивы нужно в корне своего сайта создать папку с названием error и загрузить в эту папку соответствующие страницы для отображения при возникновении ошибок:

ErrorDocument 401 /error/401.php

ErrorDocument 403 /error/403.php

ErrorDocument 404 /error/404.php

ErrorDocument 500 /error/500.php

О редиректе 301 сайта с http на https с помощью данного файла мы подробно рассказали в посте: «Как я перенес Вордпресс сайт с http на https» поэтому здесь повторно говорить об этом нет необходимости.