Skip to main content
 首页 » 编程设计

Apache .htaccess 在要求用户身份验证之前重定向到 HTTPS

2024年10月25日14pander-it

这是我的.htaccess:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
 
AuthUserFile /etc/hi 
AuthName "hi" 
AuthType Basic 
require valid-user 

它要求使用 http 进行用户身份验证,这意味着密码将以纯文本形式发送。它会重定向到 https 版本并再次询问密码。

我该如何解决?

请您参考如下方法:

我是这样绕过的。只允许非 SSL,因为它将被重定向,然后需要在 SSL 上进行一次身份验证...

SetEnvIf %{SERVER_PORT} ^80$ IS_NON_SSL 
 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
 
AuthUserFile /etc/hi 
AuthName "hi" 
AuthType Basic 
require valid-user 
Allow from env=IS_NON_SSL