Я хотел бы разрешить просмотр каталогов для пользователей, вошедших через 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 - это то, на что вы хотите посмотреть.