无法将 http 请求重定向到 https

Can't redirect http requests to https

您好,我想将我的 http 请求重定向到 https。我向 .htaccess 添加了一些代码,但我仍然可以使用 http 访问我的网站。怎么了,我该怎么办?

<IfModule mod_rewrite.c>

  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]

</IfModule>
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteOptions inherit
Header set content-Security-Policy: upgrade-insecure-requests

根据您显示的尝试,能否请您尝试遵循 htaccess rues 集。由于您正在使用规则的继承选项,因此如果您想在所有 URL 中应用 https,那么最好将您的 htpps 规则放在您的 BASE(非常第一级文件夹明智的)htaccess 文件中,如果您愿意,我们不需要将它们放在这里仅将 https 应用于此处涵盖的 URL,然后使用以下样式规则。

请确保在测试您的 URL 之前清除您的浏览器缓存。

<IfModule mod_rewrite.c>

  RewriteOptions inherit
  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]
  
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]

</IfModule>

Header set content-Security-Policy: upgrade-insecure-requests

以下代码将您域的任何 URL 重定向到 HTTPS 版本并设置 HSTS:

#Redirect HTTP a HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

#HSTS
<if "%{HTTPS} == 'on'">
  Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</if>