Управлении сайтом с помощью файла .htaccess

Для изменения различных настроек веб-сервера по отношению к отдельной директории и ко всем вложенным в неё директориям используется файл .htaccess. Является полезным инструментом для создания сайта при внутренней оптимизации сайта, так как позволяет избежать множества проблем, связанным с защитой от взлома и редиректом.

 

Возможностей файла .htaccess

 

Файл .htaccess можно создать в любом текстовом редакторе, например в Блокноте. Через FTP закачивают файл .htaccess в корень необходимой директории. При этом он будет оказывать действие на все вложенные директории, но только если в них нет своего файла .htaccess, в котором есть другие директивы.

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

PHP код:

<?php phpinfo();  ?>

В информации об установленном PHP (doc_root, open_basedir, DOCUMENT_ROOT) ищем полный абсолютный путь.

Для корректной работы файла .htaccess необходимо чтобы он был разрешён в главном файле конфигурации httpd.conf.

 

Примеры использования файла .htaccess

Перенаправление на любую страницу при обработке ошибок на сервере

 

Например, ошибка 401, 403, 404, 500. При возникновении (определении) этих ошибок пользователь будет перенаправлен на соответствующие страницы:

 

ErrorDocument 401 /error-401.php

ErrorDocument 403 /error-403.php

ErrorDocument 404 /error-404.php

ErrorDocument 500 /error-500.php

 

или на главную страницу:

 

ErrorDocument 401 /index.php

ErrorDocument 403 /index.php

ErrorDocument 404 /index.php

ErrorDocument 500 /index.php


Редирект на любую страницу по ip пользователя или при запросе конкретной страницы

 

А также по маске имени, например, если у пользователя ip 192.152.37.125, то он будет перенаправлен на страницу user.php:

 

SetEnvIf REMOTE_ADDR 192.152.37.125 REDIR=»redir»

RewriteCond %{REDIR} redir

RewriteRule ^/$ /user.php

если запрашиваются определённые страницы, то пользователь будет перенаправлен на другие страницы:

Код:

redirect /secret http://www.site.ru/nosecret


Редирект при запросе определённых файлов 

 

Если запрашиваются файлы, расширение которых не указано в файле .htaccess (gif и jpg), то следует перенаправление:

 

RewriteEngine On

RewriteRule !.(gif|jpg)$ index.php


Редирект по префиксу www (301 редирект)

— с site.ru на www.site.ru:

 

RewriteEngine on

Options +FollowSymlinks

RewriteBase /

RewriteCond %{HTTP_HOST} ^site$

RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

 

— с www.site.ru на site.ru:

 

RewriteEngine onOptions +FollowSymlinksRewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).site.ru$

RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]


Запрещение доступа в конкретную директорию

 — для всех:  deny from all

 

— к конкретному файлу:

 

<Files secret.php>

deny from all

</Files>


Разрешение доступа в директорию по паролю 

 

Работает совместно с файлом .htpasswd или по определённому ip пользователя.

— по паролю:

Нужны два файла .htaccess и .htpasswd

 

В файле .htaccess пишем:

 

AuthName «Danger! Adminka!» (текст предупреждающей надписи)

AuthType Basic require valid-user (войдёт любой, кто ввёл правильный пароль)

AuthUserFile /home/site.ru/www/adminka/.htpasswd (абсолютный путь к .htpasswd)

 

В файле .htpasswd указывается пароль. Создать этот файл можно с помощью htpasswd.exe, которая расположена в директории bin сервера. Создание файла .htpasswd:

 

  1. В командной строке перейдите в директорию bin;
  2. Введите: htpasswd -cm .htpasswd admin;
  3. Утилита запросит ввод пароля два раза, введите его;
  4. Если всё сделали успешно, то увидите Adding password for user admin;
  5. Файл .htpasswd сгенерируется в папке bin.

Затем заливаем оба файла в нужную директорию, и при входе в неё будет запрашиваться логин и пароль. Ваша директория защищена!

— по ip пользователя:

 

order deny,allow

deny from all

allow from 192.152.37.125

Доступ в данную директорию будет разрешён только пользователю с ip 192.152.37.125.

 

Полный редирект

 

Redirect / http://www.itcom.in.ua

 

Все пользователи, перешедшие на данный сайт, будут перенаправляться на сайт www.itcom.in.ua.

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

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.