1

Во время обслуживания у меня есть защищенная паролем корневая папка моего сайта, но я хочу отобразить пользовательскую страницу ошибки 401, чтобы люди знали, что сайт находится в стадии разработки. К сожалению, мой веб-хостинг не позволяет мне записывать доступ к чему-либо, кроме корневой папки моего сайта, поэтому эту пользовательскую страницу ошибки необходимо сохранить в корневой папке или в одной из ее подпапок. Вместо моей пользовательской страницы ошибок я получаю страницу ошибок Apache по умолчанию, на которой также написано: «Кроме того, при попытке использовать ErrorDocument для обработки запроса была обнаружена ошибка 401 Authorization Required».

Я искал способы сделать подпапку защищенного каталога общедоступной, и все, что я мог найти, это использовать директиву "Удовлетворить любое", но это не работает для меня. Он также не работает только для файлов, как с файлом .htaccess ниже.

#Authorization Restriction
AuthType Basic
AuthName "Access to root"
AuthUserFile *********************************
Require user ***********

Order Allow,Deny

Satisfy any

#Error Documents
ErrorDocument 401 Error-401.html

#Allow access to error documents
<Files Error-*,html>
Order Deny,Allow
Allow from all
Satisfy any
</Files>

Я могу использовать только файлы .htaccess; У меня нет доступа к httpd.conf

1 ответ1

2

Это работает для меня. Но у вас есть опечатка в <Files Error-*,html> вместо запятой должна быть точка: <Files Error-*.html>

На моем локальном хосте это работает даже без Директивы Файлов. Но на рабочем сервере мне пришлось использовать Satisfy любой, как вы предлагаете.


Вы можете поместить свою собственную ошибку 401 непосредственно в ErrorDocument:

ErrorDocument 401 "<html>...</html>"

Или вы можете обернуть свои правила аутентификации с помощью <FilesMatch> и отвергнуть только файл 401.html:

<FilesMatch "^(?!401\.html$).+">
AuthType Basic
AuthName "Awe!"
AuthUserFile /full/path/to/.htpasswd
require user Lord
</FilesMatch>

ErrorDocument 401 /401.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .