【问题标题】:using 404 page for ajax fallback?使用 404 页面进行 ajax 回退?
【发布时间】:2013-01-29 03:42:16
【问题描述】:

我想制作一个单页网站,它使用 history.pushstate 来更改 url。 我可以让我的网站只有一个 html 文件,即 404 页面。这样无论人们输入什么网址,他们都会到达该页面。

我的问题是:以这种方式滥用 404 页面有缺点吗?

谷歌在乎吗? 有浏览器怪癖吗?

【问题讨论】:

  • 一个好的经验法则Until and unless you dont have any other option, dont use things in a way they are not supposed to work。遵守约定。

标签: javascript ajax http http-status-code-404


【解决方案1】:

更好的解决方案是让除 / 以外的所有 URL 都永久重定向到 /。在任何情况下,您都不应该真正返回 404 状态代码,因为至少某些版本的 IE 会显示自己的错误页面,而不是您发回的任何 HTML。

【讨论】:

  • 什么版本的ie?我只支持8,9,10。
  • 很确定我上面写的默认适用于 6,7,8。但无论如何,依靠浏览器以某种特定方式处理错误并不是一个好主意。只需捕获所有其他 URL 并将 HTTP 重定向返回到您想要的规范 URL(可能是“/”)。
  • 不幸的是,你不能在 github 页面上这样做。如果我愿意,我可以把它放在我的服务器上,但我真的很喜欢 github 页面。我已经使用 git,所以简单的“推送部署”工作流程非常好。
  • 我可以将所有逻辑放在一个 .js 文件中,这样它就会被缓存,并且每个页面都有一堆相同的 html 文件。但这确实有点恶心......
猜你喜欢
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
  • 2020-08-21
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
相关资源
最近更新 更多