【问题标题】:How to get a redirect chain working in Netlify?如何让重定向链在 Netlify 中工作?
【发布时间】:2018-10-21 11:25:25
【问题描述】:

我的 netlify 目录结构中有一个 _redirects 文件

 /
 - site
 -- _redirects

_redirects

https://example.netlify.com/  https://www.example.com/:splat 301!
https://www.example.com/post/196 https://www.example.com/comic/post-name

问题:

第一次重定向成功,但第二次返回:

找不到页面

我已按照https://www.netlify.com/docs/redirects/ 中的文档进行操作,但找不到导致此问题的原因。

我注意到文档中提到的 2 个潜在原因:

您还可以将重定向规则添加到您的 netlify.toml 文件中。

^^ 我还没有尝试过,但由于它显示为“也”,我认为使用_redirects 文件就足够了。

对于 Jekyll,这需要添加一个包含参数 config.yml.)

^^ 据我所知,我没有使用 Jekyll,但我的项目确实包含一个 config.yml 文件。

【问题讨论】:

    标签: redirect netlify netlify-cms


    【解决方案1】:

    您将无法在 Netlify 上从文档读取的内容链接重定向。

    重定向引擎会处理它找到的第一个匹配规则,因此应在更一般的规则之前列出更具体的规则

    https://example.netlify.com/post/196 https://www.example.com/comic/post-name
    /post/196 /comic/post-name
    https://example.netlify.com/*  https://www.example.com/:splat 301!
    

    您可以尝试不使用上面的第一行来查看https://example.netlify.com/post/196 是否重定向到https://www.example.com//comic/post-name。如果它不重定向,则 Netlify 重定向中没有链接。

    【讨论】:

    • 我尝试按照您的示例切换这些网址。不幸的是,结果保持不变。 > 页面未找到
    • 我会确保你的构建中有一个/comic/post-name/index.html 页面。
    • 我不确定这个页面需要什么,所以没有设置。无论如何,我找到了一个解决方案(详情如下)。感谢您的帮助。
    【解决方案2】:

    通过添加解决:

    [[redirects]]
    from = "https://www.example.me/post/196"
    to = "https://www.example.me/comic/post-name"
    status = 200
    

    netlify.toml

    解决方案来源:https://www.netlify.com/docs/redirects/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 2016-08-18
      • 2011-11-29
      • 2019-12-05
      • 1970-01-01
      相关资源
      最近更新 更多