Как закрыть один из доменов системы для внешних пользователей — различия между версиями
Gordeev (обсуждение | вклад) (Новая страница: «Сделать это можно через файл .htaccess, прописав в нем, например, следующее: <source lang="html4strict"> Rewrit…») |
Vitaliks (обсуждение | вклад) (Актуальность версии не уместна так как статья подходит для любой версии) |
||
(не показано 6 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | Это можно сделать через файл .htaccess, прописав в нем, например, следующее: | |
<source lang="html4strict"> | <source lang="html4strict"> | ||
RewriteEngine On | RewriteEngine On | ||
Строка 7: | Строка 7: | ||
</source> | </source> | ||
Пояснения: во второй строке указан ip, для которого нижеследуещее правило применяться не будет. В третьей - указываем домен, который хотим скрыть. В четвертой можно укакзать домен, на который мы будем перенаправлять пользователей, пытающихся открыть наш домен. | Пояснения: во второй строке указан ip, для которого нижеследуещее правило применяться не будет. В третьей - указываем домен, который хотим скрыть. В четвертой можно укакзать домен, на который мы будем перенаправлять пользователей, пытающихся открыть наш домен. | ||
+ | |||
+ | Если же у нас мультисайтовая система и нам нужно закрыть доступ только к определенным сайтам, то мы можем наоборот сначала всем запретить доступ, а затем указать те домены и IP-адреса с которых мы разрешаем открывать наши сайты: | ||
+ | <source lang="html4strict"> | ||
+ | <IfModule mod_rewrite.c> | ||
+ | RewriteEngine on | ||
+ | RewriteBase / | ||
+ | |||
+ | RewriteCond %{HTTP_HOST} !^site1.ru | ||
+ | RewriteCond %{REMOTE_ADDR} !8.8.8.4 | ||
+ | |||
+ | RewriteRule ^.*$ - [F,L] | ||
+ | </IfModule> | ||
+ | </source> | ||
+ | Пояснения: дописываем указанную конструкцию в конец файла .htaccess. <br/> | ||
+ | Строкой: RewriteCond %{HTTP_HOST} !^ - '''разрешаем''' доступ с указанного домена,<br /> | ||
+ | Строкой: RewriteCond %{REMOTE_ADDR} ! - '''разрешаем''' доступ с указанного IP-адреса. | ||
+ | |||
+ | Обратите внимание, что ваши кастомные инструкции не следует вносить в блок, обрамленный строками UMI_CMS_HTACCESS_BEGIN и UMI_CMS_HTACCESS_END, поскольку при обновлении системы он будет полностью заменён на новый. | ||
+ | |||
+ | [[Категория:.htaccess]] |
Текущая версия на 08:41, 30 апреля 2019
Это можно сделать через файл .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-адреса.
Обратите внимание, что ваши кастомные инструкции не следует вносить в блок, обрамленный строками UMI_CMS_HTACCESS_BEGIN и UMI_CMS_HTACCESS_END, поскольку при обновлении системы он будет полностью заменён на новый.