我想将以下所有类型的请求重定向到https://www.example.com
http://example.com
http://www.example.com
https://example.com
答案 0 :(得分:0)
这取决于您如何重定向。你可以...
从客户端重定向。这很容易做到,只需在页面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}
(查看this question以获得更多信息。)
如果页面不是严格静态的,则可以从后端重定向。有多种方法可以执行此操作,最有可能的方法是仅在发出请求时而不是在页面加载时使用forcedomain(我个人最喜欢)之类的npm模块进行重定向。这样效率更高,浏览器也不会胡闹。
使用多个CNAME记录。如果您不熟悉DNS,则可以忽略答案的这一部分。基本上,创建一个CNAME,其中主机是@
,值是www
。这会将所有请求发送到顶点域(example.com),并将它们重定向到子域(www.example.com)。对于协议问题,有几种方法可以做到这一点,最好的选择是通配符重定向(如果您的注册商提供了此功能)。
一般来说,最好使用DNS记录,.htaccess
文件或某种后端插件(如果可能的话)进行重定向(如果您知道的话)。这一切都取决于您的托管,网站的性质(静态或动态)以及您对此类事物的了解程度。
答案 1 :(得分:0)
建议使用Firebase托管:https://firebase.google.com/docs/hosting/quickstart