Задать вопрос
@mr_blond97

Как в .htaccess ограничить доступ к виртуальному пути для всех IP кроме одного?

Для того что бы ограничить доступ к каталогу для всех IP кроме одного, нужно положить в него .htaccess со следующим содержанием:
Order Deny,Allow
Deny from all
Allow from 1.1.1.1


Можно в virtual hosts сделать это таким образом
<Directory "/var/www/html/mysite/my_folder">
Order Deny,Allow
Deny from all
Allow from 1.1.1.1
</Directory>


Но как решить эту задачу, если каталога my_folder нет и это виртуальный путь?

Ниже содержание .htaccess каталога mysite

/var/www/html/mysite/.htaccess :

AddDefaultCharset utf-8
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteRule ^favicon.ico$ - [F,L]
# если директория или файл существуют, использовать их напрямую
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# иначе отправлять запрос на файл index.php
#RewriteRule . index.php <-- было
RewriteRule ^([^/].*)$ /index.php/$1 [L] # <-- стало


Я изменил вопрос совсем немного, убрал упоминание про ssh и добавил "виртуальные пути" и .htaccess с +FollowSymLinks. Я не видел смысла создавать другую тему, которая будет почти полностью дублировать предыдущую.
  • Вопрос задан
  • 2068 просмотров
Подписаться 2 Оценить Комментировать
Решение пользователя Spetros К ответам на вопрос (5)
Spetros
@Spetros
IT-шник
Чтобы это правило отрабатывало, файл нужно пробовать забирать браузером, либо другой программой работающей по http, например, wget.
Ответ написан
Комментировать