ОК, вот 7-й день неудачной попытки найти ответ, почему появляется ошибка 401 ...
Теперь .htaccess в корневой папке содержит только 3 строки (было упрощено) и естьНЕТ больше .htaccess файлов в проекте:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Итак, он перенаправляет все запросы на https.Он отлично работает для любых URL, даже для каталога / Administration.
Итак,
http://mydomain.com
становится
https://mydomain.com
Если введен https://mydomain.com
, то нетперенаправления.
http://mydomain.com/administration/index.php
становится
https://mydomain.com/administration/index.php
Если введено https://mydomain.com/administration/index.php
, перенаправлений нет.
Это понятно, и проблема ниже.
Я хочу, чтобы / admin каталог был защищен паролем.Моя панель управления хостингом позволяет защищать каталоги без ручного создания .htaccess и .htpasswd (вы выбираете каталог для защиты, создаете имя пользователя и пароль, а .htaccess и .htpasswd создаются автоматически).Итак, .htaccess появляется в папке / Administration..htpasswd появляется где-то еще, путь к .htpasswd правильный, и все выглядит правильно (он работает так же, как и его создание вручную).Итак, в проекте есть 2 файла .htaccess, один в корневом каталоге и один в каталоге / Administration (с .htpasswd в каталоге .htaccess знает, где он находится).
После создания пароля, результаты:
Вы вводите:
https://mydomain.com/administration/index.php
Затем он просит ввести пароль.Если вы введете его правильно, отображается https://mydomain.com/administration/index.php
. Результат: работает отлично.
Но, если вы введете http://mydomain.com/administration/index.php
(да, http, без S), то вместо перенаправления на то же самое, но httpsстраница, он перенаправляет на
https://mydomain.com/401.shtml (starts with httpS)
по неизвестной причине и даже не запрашивает пароль. Почему?
Я связался со службой поддержки по этому вопросу, и они уверены, что проблема в файле .htaccess, и они не исправляют файлы .htaccess (понятно, что они делаютнет, я не против).
Почему это происходит?Я забыл поставить некоторые флаги или некоторые опции для изменения настроек по умолчанию в файле .htaccess?
PSCreating .htaccess и .htpasswd вручную (не из панели управления хостингом) для папки / администрирования вызывает те же 401ошибка в случае, если не https, но http был введен.
И проблема возникает с URL-адресами только в / Administration Directory.
Спасибо.