.htaccess — конфигурационный файл веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управление доступом к каталогам и файлам, переназначение типов файлов, указание кодировки и т.д., без изменения главного конфигурационного файла.
При переходе на страницу, к которой закрыт доступ по .htaccess, пользователь увидит служебную страницу с кодом ошибки 404.
Для редактирования файла перейдем в раздел «Файлы → Диспетчер файлов»
Перейдем в папку «public_html».
По умолчанию файл «.htaccess» скрыт. Поэтому нажмем на кнопку «Настройки» и поставим галочку возле «Показать скрытые файлы (dotfiles)».
Далее выберем наш .htaccess и нажмем кнопку «Редактировать».
В появившемся окне нажмем кнопку «Отключить проверку кодировки» и кнопку «Edit».
После редактирования файла, нажмите на «Сохранить изменения».
Как заблокировать доступ к сайту для всех
В команде каждое слово (директива) имеет свое значение:
- Order – означает порядок, то есть порядок действий.
- Allow – разрешает доступ
- Deny – в противовес, запрещает доступ.
Чтобы полностью закрыть доступ к сайту, нужно написать:
deny from all # Запрещает доступ к сайту всем IP адресам
Как разрешить доступ к сайту только определенному IP
Чтобы полностью закрыть сайт для всех IP кроме одного, допишите:
order deny,allow # Определяет порядок исполнения других команд. Сейчас allow выполняется после deny.
deny from all # Запрещает доступ к сайту всем IP адресам
allow from XXX.XXX.XXX.XXX # Открывает доступ для указанного IP. Если IP много, разделяйте их пробелом.
Как запретить доступ к сайту только определенному IP
Чтобы полностью закрыть доступ к сайту для одного IP, допишите в .htaccess:
deny from XXX.XXX.XXX.XXX # Закрывает доступ для указанного IP. Если IP много, разделяйте их пробелом.
Как управлять доступом к определенному файлу
Если вы хотите, чтобы для разных файлов на сайте были разные настройки доступа, вы можете воспользоваться командой . Например, чтобы закрыть доступ к файлу wp-config.php для всех, кроме вас, допишите в .htaccess:
<Files wp-config.php>
order deny,allow # Определяет порядок исполнения других команд. Сейчас allow выполняется после deny.
deny from all # Запрещает доступ к файлу всем IP адресам
allow from XXX.XXX.XXX.XXX # Открывает доступ для указанного IP. Если IP много, разделяйте их пробелом. </Files>
Таким же образом можно закрыть доступ и к самому .htaccess:
<Files .htaccess>
order deny,allow # Определяет порядок исполнения других команд. Сейчас allow выполняется после deny.
deny from all # Запрещает доступ к файлу всем IP адресам
allow from XXX.XXX.XXX.XXX # Открывает доступ для указанного IP. Если IP много, разделяйте их пробелом.
</Files>