仅限Apache基本身份验证SSL

仅限Apache基本身份验证SSL,apache,mod-rewrite,basic-authentication,mod-ssl,Apache,Mod Rewrite,Basic Authentication,Mod Ssl,我得到了一个Apache在Windows上运行的设置,我们有两个文件夹需要使用.htpasswd进行基本身份验证 首先,我测试了身份验证是否有效: AuthUserFile E:/path-to/.htpasswd AuthType Basic AuthName "Secure area" Require valid-user 这工作得很好,但当然没有通过SSL发送凭据。我尝试使用重写规则将任何不带HTTPS的请求发送到这些文件夹中的HTTPS,这需要用户登录两次—一次通过HTTP,一次通过H

我得到了一个Apache在Windows上运行的设置,我们有两个文件夹需要使用.htpasswd进行基本身份验证

首先,我测试了身份验证是否有效:

AuthUserFile E:/path-to/.htpasswd
AuthType Basic
AuthName "Secure area"
Require valid-user
这工作得很好,但当然没有通过SSL发送凭据。我尝试使用重写规则将任何不带HTTPS的请求发送到这些文件夹中的HTTPS,这需要用户登录两次—一次通过HTTP,一次通过HTTPS

我发现很多人都有这个问题,大多数人使用的解决方案如下:

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire  %{HTTP_HOST} eq "www.domain.com"
AuthUserFile E:/path-to/.htpasswd
AuthName "Secure area"
AuthType basic
require valid-user
ErrorDocument 403 https://www.domain.com/secure-area
所以我把它放在两个安全文件夹中的htaccess中。这需要用户通过HTTPS登录一次,这是应该的,但它当然不会将用户发送到他们请求的文件中。而是将它们发送到文件夹的根目录

我们经常将用户指向这些目录中的特定文件,而我就是找不到任何东西可以在尝试这样做时通过HTTPS上的基本身份验证对他们进行身份验证。这在Apache上可能吗

谢谢,
Jonathan

如果是针对特定文件的,您可以将其包装在

<files *.php>
  
</files>