Назад | Перейти на главную страницу

Как запретить просмотр каталогов в .htaccess всем, кроме действительных пользователей?

Я хотел бы разрешить просмотр каталогов для пользователей, вошедших через HTTP-аутентификацию, но запретить это для анонимных пользователей. Есть ли способ сделать это с помощью .htaccess?

RewriteEngine on
RewriteCond %{REMOTE_USER} =""
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule .? - [F,L]

Вам нужно будет связать вместе столько index.foo типы, которые вы используете.

Предполагается, что под «зарегистрированным пользователем» вы подразумеваете кого-то, вошедшего в систему с использованием аутентификации HTTP BASIC. Если вы имеете в виду, что кто-то вошел в систему с настраиваемым механизмом аутентификации, вам нужно будет подключить к нему карту перезаписи, что, вероятно, не стоит усилий; в этот момент я бы поставил index.foo во всех моих каталогах, которые проверяли мою пользовательскую аутентификацию и отправляли индекс или нет, в зависимости.

http://httpd.apache.org/docs/2.0/howto/htaccess.html

Объясняет, как именно это сделать. Параметр Require - это то, на что вы хотите посмотреть.