Авторизация по .htaccess и 401 ??

D
На сайте с 03.03.2006
Offline
123
1051

А почему при такой конструкции и при не прохождении авторизации, не перебрасывает на тест.ру по 401?? А видим стандартную страницу:

Authentication required!

This server could not verify that you are authorized to access the URL....

If you think this is a server error, please contact the webmaster.

Error 401

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
ErrorDocument 401 http://www.test.ru

AuthUserFile /..../.htpasswd
AuthType Basic
Require valid-user

речь о закрытии всего! домена

если в домене сделать папку temp и закрыть её кинув в неё htaccess, и указать там на 401

файл /error.php (т.е. в корне), то всё работает.

Но если закрываем весь домен!, то через абсолютный путь не работает переброс на какой-либо файл или редирект.

J
На сайте с 20.02.2014
Offline
120
jkm
#1

В документации описаны причины такого поведения http://httpd.apache.org/docs/2.2/mod/core.html#errordocument


if you use a remote URL in an ErrorDocument 401, the client will not know to prompt the user for a password since it will not receive the 401 status code. Therefore, if you use an ErrorDocument 401 directive then it must refer to a local document.

Так что тут можно использовать только относительные пути.


ErrorDocument 401 /


---------- Добавлено 28.08.2014 в 03:49 ----------

Dzen:

Но если закрываем весь домен!, то через абсолютный путь не работает переброс на какой-либо файл или редирект.

Проверку делаете уже авторизованным? Там нюанс в том, что mod_auth_basic отработает раньше, чем mod_rewrite.

D
На сайте с 03.03.2006
Offline
123
#2
jkm:
Проверку делаете уже авторизованным? Там нюанс в том, что mod_auth_basic отработает раньше, чем mod_rewrite.

тоже думал об этом. Проверка не может идти авторизованным, потому что закрыт _весь_ домен, сам корень закрыт).

Думал можно абсолютным путём как-то поиграть, но что-то не получается.

J
На сайте с 20.02.2014
Offline
120
jkm
#3

Тогда поможет директива FilesMatch.


<FilesMatch "(?<!error\.php)$">
AuthUserFile /..../.htpasswd
AuthType Basic
Require valid-user
</FilesMatch>

Авторизация будет для всех файлов кроме error.php

D
На сайте с 03.03.2006
Offline
123
#4

jkm гениально!:) Спасибо!!) Мощнейшего здоровья!)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий