我的 .htaccess 文件中有这个
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.myweb.com/phpmyadmin$1 [R,L]
AuthUserFile /var/www/myweb/.htpasswd
AuthGroupFile /dev/null
AuthName "Sovereign Databases"
AuthType Basic
<Limit GET>
require valid-user
</Limit>
但每次我去http://www.myweb.com/phpmyadmin,.htpasswd 在我被重定向到之前提示我输入凭证https://www.myweb.com/phpmyadmin。输入用户名和密码后,我被重定向到https://www.myweb.com/phpmyadmin问题是我不希望任何人通过 http 提交未加密的用户名和密码。
即使人们输入的是 http 版本,我如何强制他们通过 https 版本登录?
答案1
将Auth
语句移到一个<VirtualHost *:443>
块中。
(其他人可能有更优雅和更好的答案)。