Apache: ограничить доступ к URI, а не к ресурсу

#apache #.htaccess

#apache #.htaccess

Вопрос:

Я хотел бы ограничить доступ к некоторым URI, но они физически не соответствуют четко идентифицированному ресурсу. Я объясняю: если вы спрашиваете http://domainname/admin , вы не переходите строго в каталог администратора, вы переходите к скрипту с некоторыми параметрами; и этот скрипт также может использоваться в других контекстах.

Итак, я хотел бы создать что-то вроде ограничения доступа к папке, но на основе запрошенного URI, а не фактического ресурса (потому что папка / admin, конечно, существует : D).

Как я мог это сделать?

TIA

Ответ №1:

В .htaccess добавьте правило перезаписи:

 RewriteRule ^admin - [F,L]
  

Это запретит доступ к путям, начинающимся с admin.

Ответ №2:

Используйте теги <Location> / </Location> в вашем httpd.conf (или как бы он ни назывался на этой неделе), вставьте любые ограничения доступа между тегами. Например

 <Location /admin>
    Order deny,allow
    Deny from all
    Allow from localhost, admins-workstation.example.com
</Location>