Файл .htaccess предоставляет возможность дополнительно настроить веб-сервер и достичь такие цели, как:
-Ограничение доступа к сайтам;
-Переадресация на другой домен;
-Показ собственных страниц ошибок;
-Изменение значений в директивах PHP.
Переадресация с одного сайта на другой
Для переадресации с одного сайта на другой необходимо добавить в файл .htaccess следующие строки:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?from\.com$
RewriteRule ^(.*)$ http://to.com/$1 [L,R=301]
где from\.com —доменное имя, с которого должна быть выполнена переадресация, а “to.com” – цель.
Однако экранирование символа точки обратной косой чертой \ во второй строке необязательно.
Переадресация с протокола HTTP на протокол HTTPS
Переадресация с протокола HTTP на протокол HTTPS выполняется путём прибавления кода в .htaccess файл:
RewriteEngine on
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://www.example.ru/$1 [R=301,L]
и наоборот, с HTTPS на HTTP:
RewriteEngine on
RewriteCond %{HTTP:HTTPS} =on [NC]
RewriteRule ^(.*)$ http://www.example.ru/$1 [R=301,L]
Ограничение и разрешение доступа к сайту с определённых ip-адресов
Чтобы ограничить доступа к сайту с определённых IP-адресов в файл .htaccess нужно добавить следующее:
Order Allow,Deny
Allow from all
Deny from IP
где вместо подстроки IP нужно добавить IP-адрес, для которого вам нужно будет ограничить доступ, или список таких IP-адресов разделённых пробелом.
Если вы хотите разрешить доступ к сайту только с определённых IP-адресов, для этого вы можете добавить следующие строки:
Order Deny,Allow
Deny from all
Allow from IP
где IP — IP-адрес, для которого будет разрешён доступ, или список таких IP-адресов разделённых пробелом.
Ограничение доступа к определённым файлам
Настройка ограничений доступа к некоторым файлам выполняется путём добавления в .htaccess файл:
<Files ПУТЬ_К_ФАЙЛУ>
Order Deny,Allow
Deny from all
Allow from IP
</Files> Где путь _к_ файлу – необходимо заменить на целевой файл, а IP — на IP-адрес, по которому будет разрешён к нему доступ.
Вернуться к «База знаний»
Не нашли ответ на свой вопрос? Позвоните нашим специалистам по телефону +998(71) 202-87-00