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

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

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

решение1

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во все свои каталоги, которые проверяли бы мою пользовательскую аутентификацию и отправляли индекс или нет, в зависимости от того.

решение2

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

Объясняет, как именно это сделать. Параметр Require — это то, на что вам нужно обратить внимание.

Связанный контент