Как закрыть один из доменов системы для внешних пользователей — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 21: Строка 21:
 
</source>
 
</source>
 
Пояснения: дописываем указанную конструкцию в конец файла .htaccess. <br/>
 
Пояснения: дописываем указанную конструкцию в конец файла .htaccess. <br/>
Строкой: RewriteCond %{HTTP_HOST} !^ - разрешаем доступ с указанного домена,<br />
+
Строкой: RewriteCond %{HTTP_HOST} !^ - '''разрешаем''' доступ с указанного домена,<br />
Строкой: RewriteCond %{REMOTE_ADDR} ! - разрешаем доступ с указанного IP-адреса.
+
Строкой: RewriteCond %{REMOTE_ADDR} ! - '''разрешаем''' доступ с указанного IP-адреса.

Версия 19:44, 23 апреля 2013

Сделать это можно через файл .htaccess, прописав в нем, например, следующее:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !192.168.7.185
RewriteCond %{HTTP_HOST} www.domen.ru [NC]
RewriteRule (.+) http://domen_dlya_perenapravleniya.ru [L]

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

Если же у нас мультисайтовая система и нам нужно закрыть доступ только к определенным сайтам, то мы можем наоборот сначала всем запретить доступ, а затем указать те домены и IP-адреса с которых мы разрешаем открывать наши сайты:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^site1.ru
RewriteCond %{REMOTE_ADDR} !8.8.8.4

RewriteRule ^.*$ - [F,L]
</IfModule>

Пояснения: дописываем указанную конструкцию в конец файла .htaccess.
Строкой: RewriteCond %{HTTP_HOST} !^ - разрешаем доступ с указанного домена,
Строкой: RewriteCond %{REMOTE_ADDR} ! - разрешаем доступ с указанного IP-адреса.