📜  强制 http 到 https htaccess (1)

📅  最后修改于: 2023-12-03 15:09:50.325000             🧑  作者: Mango

强制 HTTP 到 HTTPS (.htaccess)

当您的网站启用了 SSL 证书并使用 HTTPS 协议时,您可能需要对所有 HTTP 请求进行自动重定向以确保所有访问都通过加密安全通道进行。 这可以通过在网站的 .htaccess 文件中添加以下代码来实现:

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

这些规则可将所有请求的 URL 重定向到 HTTPS 协议中的相同 URL,并将 HTTP 标头更改为 301,以指示请求永久重定向到 HTTPS。该规则仅应添加到 .htaccess 文件中的一次。如果您已经在 .htaccess 中添加了类似的规则,请确保仅添加此规则中的内容一次。

此规则的许多方面可以自定义。例如,您可以选择重定向到不同的 URL(例如,您可以将网站的非 www 版本重定向到 www 版本)。 您还可以通过添加 NC 标志来使规则对大小写不敏感:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [NC,L,R=301]

要测试此规则是否有效,请访问您的网站的 HTTP URL(例如http://example.com)。如果您被自动重定向到 HTTPS 网址(例如https://example.com),则您已成功应用此规则。

请注意,此规则仅适用于使用 Apache Web 服务器的网站。 如果您使用其他 Web 服务器(例如 Nginx 或 IIS),则规则可能略有不同。