Я конфигурируюсь, сервер человечности с ними управляют.
sudo a2enmod rewrite
sudo a2ensite 000-default.conf
Я редактирую 000-default.conf как это.
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride all
Require all granted
</Directory>
sudo service apache2 restart
Я использую, позволяют, шифруют для создания ssl. Если я открываю myweb.com затем, он перенаправляет к https://myweb.com. Но если я открываю http://myweb.com, он показывает, что апачская страница не перенаправляет к https://myweb.com. Это похоже на .htaccess, не выполненный.
Это - код .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Как зафиксировать его?
Теперь я нашел ответ.
RewriteCond %{HTTPS} off
не работают, это должно заменить RewriteCond %{HTTPS} !on
Я обнаружил одну странную проблему, касающуюся Apache's .htaccess
.
Я устанавливаю файл .htaccess
в общедоступном каталоге html
для обычной проверки подлинности. Я также настраиваю необходимую конфигурацию apache, как указано на многих учебных сайтах, страницах и т. Д., Поэтому я знаю, что у меня была настройка в основном правильная.
Независимо от того, как я настроил apache, я никогда не получу запрос на аутентификацию.
Поскольку у меня был пароль, хранящийся в родительском каталоге к общедоступному каталогу html, мне нужно было включить этот каталог в определение apache.
Вот оригинальное определение:
<Directory /srv/www/mysite/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>`
Затем я изменил код конфигурации на следующий:
<Directory /srv/www/mysite>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>`
Файл паролей хранится в /srv/www/mysite/access/.htpasswd. Согласно первому шаблону конфигурации, этот каталог находился за пределами области конфигурации.
При резервном копировании каталога (родительского каталога общедоступного html) каталог "access" теперь находится в области действия. Теперь apache представляет запрос на вход.