无法将 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>
您好,我想将我的 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>