Хорошо, вот 7-й день безуспешной попытки найти ответ, почему появляется ошибка 401 ...
Теперь, .htaccess в корневой папке содержит только 3 строки (было упрощено), и в проекте больше НЕТ файлов .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Таким образом, он перенаправляет все запросы на https. Он отлично работает для любых URL-адресов, даже для каталога / administrator.
Таким образом,
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
, перенаправления отсутствуют.
Это ясно, и проблема ниже.
Я хочу, чтобы каталог / administrator был защищен паролем. Панель управления My Shared Hosting позволяет защищать каталоги без ручного создания файлов .htaccess и .htpasswd (вы выбираете каталог для защиты, имя пользователя и пароль создаются автоматически, а .htaccess и .htpasswd создаются автоматически). Итак, в папке / administrator появляется .htaccess. .htpasswd появляется где-то еще, путь к .htpasswd правильный, и все выглядит правильно (работает так же, как создать его вручную). Итак, в проекте есть 2 файла .htaccess, один в корневом каталоге и один в каталоге / administrator (с .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-адресами к каталогу / administrator.
Спасибо.