我在old.address.com
创建了一个在Netlify上托管的Jekyll网站。现在我想重定向到new.address.com
。但Netlify文档似乎不起作用或我不理解文档。这就是我所做的:
我添加到_config.yml
:(因为Netlify说Jekyll排除'_...'文件)
include:
- _redirects
我添加了一个_redirects
文件。我只是将Netlify生成的指令复制粘贴到该文件中,这是内容:
# Redirect domain aliases to primary domain
https://jekyll-comments.demo.ed.community/* https://jekyll-demo.talkyard.io/:splat 301!
http://jekyll-comments.demo.ed.community/* https://jekyll-demo.talkyard.io/:splat 301!
https://jekyll.demo.talkyard.io/* https://jekyll-demo.talkyard.io/:splat 301!
http://jekyll.demo.talkyard.io/* https://jekyll-demo.talkyard.io/:splat 301!
这没有效果。 问题是什么/我做错了什么?
这就是目录的样子:
$ ls -1
404.html
about.md
_config.yml
Gemfile
_includes
index.md
_layouts
_posts
_redirects <—— added as per Netlify's instructions
_sass
_site
$ ls -1 _posts/
2018-01-01-like-about-jekyll.markdown
2018-01-02-installation-instructions.markdown
2018-01-02-kind-creatures.markdown
配置文件只是默认配置文件:
title: ...
email: ...
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: ...
github_username: ...
# Build settings
markdown: kramdown
theme: minima
plugins:
- jekyll-feed
talkyard_comments_server_url: ...
include:
- _redirects
请注意,虽然上面有相当多的详细信息,但只是各种默认内容。所以这不是我的问题所特有的。它应该适用于所有新的Jekyll网站。
答案 0 :(得分:3)
免责声明:我为Netlify工作
我们在文档中有一个特定的部分:https://www.netlify.com/docs/redirects/#handling-hostnames-and-protocols-differently
...并且您的代码段应该可以使用,因为它遵循这些约定。
完成这项工作的唯一先决条件是:
1)您在我们的UI中配置了您的站点以回答所有这些名称 - 所以:
jekyll-comments.demo.ed.community
jekyll-demo.talkyard.io
jekyll.demo.talkyard.io
2)并且DNS中的所有名称都设置相同(CNAME到yournetlifysitename.netlify.com)
添加&#34;额外&#34;的唯一方法Netlify配置的名称是域别名,它们在&#34; main&#34;旁边的域设置面板中配置。自定义域名。
由于您的_redirects看起来对我来说是正确的,如果您按照建议配置了先决条件,那么最有可能的失败模式是您不会因为某些原因而实际应用重定向(通常是 - 他们没有&#39 ;部署是因为它们并没有存在于名为_redirects的文件中,在发布文件夹中,在构建之后),但是jekyll配置中的include
应允许该文件在该位置保留。那个jekyll配置是&#34;对&#34;这样做的方法,但对于其他网站生成器,我们有时建议人们在构建后将重定向复制到位:jekyll build && cp netlify_redirects.txt _site/_redirects
您可以下载部署中的任何文件,以检查他们的最终状态&#34;通过任何成功的部署日志页面中的这个小图标:
通过快速查看您的站点配置,它们似乎已部署并正常运行:
$ curl -v https://jekyll-comments.demo.ed.community/ -o /dev/null
* Connected to jekyll-comments.demo.ed.community (35.199.180.1) port 443 (#0)
[...]
< HTTP/1.1 301 Moved Permanently
[...]
< Location: https://jekyll-demo.talkyard.io/
所以我猜下一个问题是......你们是如何测试的?