我正在尝试将没有www的所有URL重定向到www,我的netlify.toml文件中有以下规则
[[redirects]]
from = "/"
to = "/es"
status = 302
force = false
conditions = {Country = ["es"], Language = ["es","EU-es"]}
[[redirects]]
from = "https://example.com/*"
to = "https://www.example.com/:splat"
status = 301
force = true
第一个规则有效,但是第二个规则(将所有不带www的请求重定向到www的通用规则)不起作用。我正在将gatsby v1与打字稿一起使用。
答案 0 :(得分:0)
www.example.com
,并且您具有有效的主机名SSL证书,则Netpify会自动执行此重定向。如果example.com
和www.example.com
是辅助主机名(称为域别名:https://www.netlify.com/docs/custom-domains/#domain-aliases),则您可能需要/需要此重定向。
通常,人们会将这类重定向放置在其他位置,例如您的302 /语言重定向,使其首先出现,但是如果它不起作用,那么这可能不是(唯一的)问题
注意:在没有站点强制ssl的情况下,这只会捕获字面https://example.com(/ *的请求,而不会捕获对http://example.com
的请求(永远不会这样-Netlify尝试强制自动访问所有网站)。
如果您发现它不起作用,并且满足先决条件: -使用这些主机名配置的netlify站点 -netlify站点上的SSL证书,支持这些主机名 ...那么有可能我们要么没有正确处理它,以致它就位,要么系统中的其他错误。您应该联系Netlify's helpdesk进行调查,因为重定向会被处理的信息不会显示在任何地方,并且试图了解通过反复试验处理的内容并不是一个非常出色的过程:)