Я учусь использовать htaccess.
Сначала я хочу попробовать, как настроить имя пользователя и пароль для следующего каталога ~/public_html/55/m
:
~/public_html/55/m$ ls -la
total 24
drwxr-xr-x 2 tim Domain^Users 4096 2011-12-16 21:39 .
drwxr-xr-x 3 tim Domain^Users 4096 2011-12-16 21:42 ..
-rwxr-xr-x 1 tim Domain^Users 271 2011-12-16 21:26 .htaccess
-rwxr-xr-x 1 tim Domain^Users 8 2011-12-16 21:39 .htpasswd
-rwxr-xr-x 1 tim Domain^Users 884 2011-12-16 20:02 index.html
Я вручную создал два текстовых файла: .htaccess
и .htpasswd
. Их содержание
~/public_html/55/m$ cat .htaccess
AuthUserFile /home/WIN/local/WIN/tim/public_html/55/m/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic
Require valid-user
~/public_html/55/m$ cat .htpasswd
tim:123
Но я могу получить доступ к веб-странице без запроса имени пользователя и пароля. Интересно, почему?
Во-вторых, я хочу попробовать, как ограничить диапазон ip для доступа ~/public_html/55/n
~/public_html/55/n$ ls -la
total 16
drwxr-xr-x 2 tim Domain^Users 4096 2011-12-16 21:54 .
drwxr-xr-x 4 tim Domain^Users 4096 2011-12-16 21:53 ..
-rwxr-xr-x 1 tim Domain^Users 292 2011-12-16 21:53 .htaccess
-rwxr-xr-x 1 tim Domain^Users 884 2011-12-16 21:53 index.html
где я создал вручную текстовый файл .htaccess
содержание которого:
~/public_html/55/n$ cat .htaccess
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName AllowFromBlah
AuthType Basic
<limit GET>
order deny,allow
deny from all
allow from xxx.edu
</Limit>
Но я могу получить доступ к веб-странице из-за пределов указанного диапазона IP xxx.edu
. Интересно, почему?
Спасибо и привет!
Возможно, файлы .htaccess для этих каталогов просто игнорируются с использованием AllowOverride
директива в конфигурации виртуального хоста. Из http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride:
Если для этой директивы установлено значение None, файлы .htaccess полностью игнорируются. В этом случае сервер даже не будет пытаться читать файлы .htaccess в файловой системе.
РЕДАКТИРОВАТЬ: Конфигурация Ubuntu основана на /etc/apache2
, другие системы имеют свою конфигурацию, основанную на /etc/httpd
или другой каталог. Конфигурация Ubuntu для домашних каталогов пользователей обрабатывается mods-available/userdir.conf
который активируется при подключении к /etc/apache2/mods-enabled
. Он определяет домашние каталоги как /home/*/public_html
. В php4.conf
также ссылается на те же каталоги.