我可以在客户端更改页面的HTML状态代码吗?

时间:2010-12-22 11:55:05

标签: javascript jquery http-status-code-404 client-side

我有一个静态HTML网页,我想将其状态代码设置为404“未找到”。

但是,我想使用javascript或jQuery,而不是任何服务器端语言。

我如何在客户端上执行此操作?使用javascript或<meta>代码?

5 个答案:

答案 0 :(得分:12)

使用客户端编程设置HTTP响应代码是不可能的。

答案 1 :(得分:4)

我认为本练习背后的意义如下:您希望加载一个向用户显示自定义错误消息的页面。同时,您希望告知您的Google Search Appliance(或类似系统)必须从索引中删除所请求的页面。 我有同样的问题,无法嵌入服务器端脚本。我还没有找到客户端解决方案。

答案 2 :(得分:2)

您可以在JavaScript中将页面重定向到不存在的页面。我不知道你为什么要这样做,但是嘿嘿:

<script type="text/javascript">
<!--
window.location = "zomgomgthispagedoesntexistlololol.html"
//-->
</script>

但David是对的,没有办法设置THAT页面状态,因为它是客户端脚本。

答案 3 :(得分:0)

您为服务器上的不存在页面设置重定向。您将无法在浏览器中使用页面,因为用户请求的页面不存在。

在ASP.NET中,您可以在web.config文件的customErrors部分中设置默认页面,如下所示:

<customErrors mode="RemoteOnly" defaultRedirect="~/error.aspx">
  <error statusCode="404" redirect="notFound.aspx"/>
  <error statusCode="403" redirect="accessError.aspx"/>

答案 4 :(得分:0)

我目前面临的问题。我知道这是不可能的,但我想我无论如何都要看看。我面临的原因是因为vue-router及其在历史模式中的局限性。他们建议设置服务器端配置,捕获可能是客户端路由的所有URL,并返回root / index.html以接管客户端路由。如果路线不存在,那么另一个全能客户端。他们无法解释的是如何使用真实的状态代码报告这样的失败的爬虫/索引器。使用此解决方案,即使找不到页面,您也只能获得200个请求者。

https://router.vuejs.org/en/essentials/history-mode.html

相关问题