Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用404页面进行ajax回退?_Javascript_Ajax_Http_Http Status Code 404 - Fatal编程技术网

Javascript 使用404页面进行ajax回退?

Javascript 使用404页面进行ajax回退?,javascript,ajax,http,http-status-code-404,Javascript,Ajax,Http,Http Status Code 404,我想创建一个单页网站,使用history.pushstate更改url。 我可以使我的网站只有一个html文件,404页。因此,无论人们输入什么url,他们都可以访问该页面 我的问题是:以这种方式滥用404页有缺点吗 谷歌在乎吗? 是否存在浏览器方面的问题?一个更好的解决方案是,只需将/answer以外的所有URL永久重定向到/。在任何情况下,您都不应该实际返回404状态代码,因为至少某些版本的IE会显示自己的错误页面,而不是您发送回的任何HTML。什么版本的IE?我只支持8,9,10。我很确定

我想创建一个单页网站,使用history.pushstate更改url。 我可以使我的网站只有一个html文件,404页。因此,无论人们输入什么url,他们都可以访问该页面

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

谷歌在乎吗?
是否存在浏览器方面的问题?

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

什么版本的IE?我只支持8,9,10。我很确定我上面写的内容默认适用于6,7,8。但是在任何情况下,依靠浏览器以某种特定的方式处理错误都不是一个好主意。只需捕获所有其他URL并返回一个HTTP重定向到您想要的规范URL(可能是“/”)。不幸的是,您不能在github页面上这样做。如果我愿意,我可以把它放在我的服务器上,但我真的很喜欢github页面。我已经使用git了,所以简单的“推送部署”工作流非常好。我可以把所有的逻辑放在一个.js文件中,这样就可以缓存它,并且每个页面都有一堆相同的html文件。但是这看起来确实有点恶心……一个很好的经验法则
,除非你没有其他选择,否则不要以他们不应该工作的方式使用东西。遵守惯例。