【问题标题】:Displaying The URL On a 404 Page In Gatsby在 Gatsby 的 404 页面上显示 URL
【发布时间】:2018-10-10 20:31:08
【问题描述】:

Gatsby 可以轻松创建您自己的自定义 404 页面docs here,但我想在消息内的页面上显示 URL - 类似于:

“/example/nope”处没有页面。

有什么方法可以从 404 页面中访问失败的 URL?

虽然我找不到任何与之相关的文档,但似乎 404 页面接收了一个 history 对象作为它的道具之一,但是这个对象实际上并不包含任何历史 URL,只有一个用于导航的 api到之前的状态和当前的 url(即/404)。

【问题讨论】:

    标签: javascript url http-status-code-404 gatsby


    【解决方案1】:

    我查看了 Gatsby 如何为自己的开发 404 页面处理它,这里是来自 `gatsby/dist/internal-plugins/dev-404-page/raw_dev 的相关行:

     render() {
        const pathname = this.props.location.pathname
        ...
        return (
          ...
            <p>
              {`There's not a page yet at `}
              <code>{pathname}</code>
            </p>
         )
       }
    

    所以它使用了props对象的location.pathname,它不是指当前404页面的url,而是导致404的页面的url。

    注意:如果您访问 /404 以查看您自己的 404 页面正在开发中,这将不起作用,因为没有生成 404 以响应丢失的页面,因此 location.pathname 将是 /404

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 2013-08-13
      • 2016-06-28
      • 2013-12-01
      • 2022-12-15
      • 2019-01-09
      相关资源
      最近更新 更多