gpt4 book ai didi

jekyll - 如何将旧的 Netlify + Jekyll 站点地址重定向到新地址?

转载 作者:行者123 更新时间:2023-12-04 06:48:34 24 4
gpt4 key购买 nike

我在 old.address.com 上创建了一个 Jekyll 站点,托管在 Netlify 上。现在我想重定向到 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 站点。

最佳答案

免责声明:我为 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)

将“额外”名称添加到 Netlify 配置的唯一方法是作为域别名,这些别名在“主”自定义域旁边的“域设置”面板中进行配置。

因为你的 _redirects 对我来说看起来是正确的,如果你有按照建议配置的先决条件,最可能的失败模式是你最终没有因为某种原因实际应用你的重定向(通常 - 他们没有被部署因为它们不存在于名为 _redirects 的文件中,在您的发布文件夹中,在构建之后),但是您在 jekyll 配置中的 include 应该允许该文件保留在该位置。 jekyll 配置是“正确”的方式,但对于其他网站生成器,我们有时建议人们在构建后将重定向复制到位:jekyll build && cp netlify_redirects.txt _site/_redirects/p>

您可以下载部署中的任何文件,通过来自任何成功部署日志页面的这个小图标来检查它们的“最终状态”:

deploy logs and icon example

快速查看您的站点配置,它们似乎已部署并正常工作:

$ 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/

所以我想下一个问题是......你是如何测试的?

关于jekyll - 如何将旧的 Netlify + Jekyll 站点地址重定向到新地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48379045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com