1

目标

如果请求是http://⋯/.htaccess
则不显示该文件的内容,而是
显示 ErrorDocument 403,
将 <strong>only <code>http:// 重写为 <code>https://。

问题

URL 被重写为https://⋯/403.shtml
而不是所需的 <code>https://⋯/.htaccess。

细节

ErrorDocument 403 和
.htaccess 的保护由网络托管服务提供商设置。

HTTPS 重写在 .htaccess 文件中设置:

RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}/$0 [L,QSA,R=301]
4

2 回答 2

1
<If "%{HTTPS} != 'on'">
    Require all granted
    RewriteEngine on    
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,R=301]
</If>
于 2021-02-25T11:08:56.367 回答
0

在文件中设置以下内容.htaccess以重置默认 403 Apache ErrorDocument

ErrorDocument 403 default

ErrorDocument 403 和 .htaccess 的保护由网络托管服务提供商设置。

看起来主机已经为ErrorDocument指令配置了文档的绝对 URL 403.shtml,这自然会触发 302 重定向而不是内部子请求。

于 2021-02-25T09:48:30.820 回答