📅  最后修改于: 2023-12-03 15:42:05.934000             🧑  作者: Mango
当访问您的网站时,将其重定向到 HTTPS 并从 URL 中删除前缀“www”。使用 PHP 和 .htaccess 文件很容易实现这个重定向。
可以使用以下 PHP 代码将您的网站重定向到 HTTPS 并删除“www”。
if($_SERVER["HTTPS"] != "on" || !preg_match('/^www\./', $_SERVER["HTTP_HOST"])) {
header("Location: https://" . preg_replace('/^www\./', '', $_SERVER["HTTP_HOST"]) . $_SERVER["REQUEST_URI"], true, 301);
exit();
}
$_SERVER["HTTPS"]
- 如果请求是通过 HTTPS 发送的,则返回“on”。$_SERVER["HTTP_HOST"]
- 返回 HTTP 请求中的主机头。$_SERVER["REQUEST_URI"]
- 返回当前请求 URI 的字符串。此代码检查请求是否通过 HTTPS 发送,并且是否使用 www 前缀。如果是这种情况,则将请求重定向到 HTTPS URL 并删除 www 前缀。
另一种方法是使用 .htaccess 文件的 RewriteRule 规则来重定向到 HTTPS URL 并删除 www 前缀。
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
RewriteCond %{HTTPS} off
- 如果请求不是通过 HTTPS 发送的,则匹配下一行 RewriteRule。RewriteCond %{HTTP_HOST} ^www\. [NC]
- 如果 HTTP 请求中的主机名以 www. 开头,则匹配下一行 RewriteRule。RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
- 将请求重定向到 HTTPS URL,然后删除 www。例子使用 example.com 作为域名。无论你使用 PHP 还是 .htaccess 文件,都能够实现访问网站时重定向到 HTTPS 并删除 www 前缀。选择适合你的方法,提高你的网站安全性和体验。