我想将以下所有类型的请求重定向到https://www.example.com
http://example.com
http://www.example.com
https://example.com
这取决于您想要如何重定向。你可以。。。
-
从客户端重定向。这很容易做到,只需在包含以下内容的页面HTML文档的
<head>
中添加一个脚本标记即可。let excluded = ['http://www.example.com', 'https://example.com', 'http://example.com'] if (excluded.indexOf(location.origin) !== -1) { location.href = 'https://www.example.com' }
这个代码只有一个问题,就是浏览器可能会抱怨重定向太多。第二种选择更安全。
-
如果你知道如何使用
.htaccess
。您将在web服务器的根目录中找到此文件。添加以下行:RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
(查看此问题了解更多信息。(
-
如果页面不是严格静态的,您可以从后端重定向。有很多方法可以做到这一点,最有可能的是只使用一个npm模块,如forcedomain(我个人最喜欢的(,在发出请求时重定向,而不是在加载页面时重定向。这样效率更高,浏览器也不会对你发脾气。
-
使用多个CNAME记录。如果你不熟悉DNS,我会忽略这部分答案。基本上,制作一个CNAME,其中主机为
@
,值为www
。这将把所有请求发送到顶点域(example.com(,并将它们重定向到子域(www.example.com(。当涉及到协议问题时,有几种方法可以做到这一点,最好的选择是通配符重定向(如果您的注册商提供(。
根据一般经验,最好使用DNS记录、.htaccess
文件或某种后端插件(如果可能的话(进行重定向(如果你知道怎么做的话(。这一切都取决于你的主机,你的网站的性质(静态或动态(,以及你对这类事情的知识水平。
建议使用Firebase Hosting:https://firebase.google.com/docs/hosting/quickstart