首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS中的ColdFusion自定义404处理程序-如何返回状态200OK?

问IIS中的ColdFusion自定义404处理程序-如何返回状态200OK?
EN

Stack Overflow用户
提问于 2013-01-23 02:53:51
回答 1查看 1.7K关注 0票数 0

我有一个用于IIS (IIS7.5,Win2K8 R2)的ColdFusion (CF10)自定义404处理程序,它检查“友好的urls",如果找到就返回适当的内容。例如:

http://www.domain.com/user1返回与http://www.domain.com/?user=user1相同的内容

IIS似乎只返回顶部的x (1000?)字节,并且还返回404错误。是否有可能强制IIS返回200OK?我尝试添加:

代码语言:javascript
复制
<cfheader statusCode="200" statusText="OK">

发送到404处理程序,但IIS仍将404错误返回给浏览器。

作为后续问题,有没有更好的方法来做到这一点?我可以使用URL重写模块吗?我认为这可能很困难,因为我认为它只匹配URL中的模式,友好的URL也可以匹配可能存在的文件夹名称。这就是我的404处理程序所要检查的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-23 03:46:51

您在这里涉及到几个不同的东西。对于第一部分,SEO友好的URLS,我想说IIS重写是可以使用的工具。不需要在这些方面浪费ColdFusion的处理时间。让IIS重写来处理它,只将有意义的东西传递给ColdFusion。如果你在谷歌上搜索像iis rewrite for seo friendly urls这样的东西,你可以找到成千上万的例子。

对于您问题的第二部分,处理404个错误。我建议您不要为这些代码返回200 OK状态代码。他们毕竟是404的。相反,通过发出301 Moved Permanently状态代码,让404处理程序(如果可能)重定向到新的(或想要的)页面。它不仅会把你的访问者推到正确的页面,而且还会让搜索引擎机器人满意。如果您没有一个页面来重定向您的访问者,那么一定要返回一个适当的404 Not Found状态代码。可能会在生成的404页面中包含一些指向站点最常见页面的链接。再说一次,谷歌是你的朋友,搜索一下像301 redirect for 404 errors这样的例子。请记住,对于301重定向,您还需要包括新位置(用于重定向)。如下所示:

代码语言:javascript
复制
<cfheader statuscode="301" statustext="Moved Permanently">
<cfheader name="Location" value="http://www.newlocation.com">

顺便说一句,您并没有真正提到如何在IIS和/或ColdFusion中设置404处理。这些可以单独设置,也可以一起设置(例如,IIS404处理程序可以指向ColdFusion 404处理模板)。这就是我通常设置服务器的方式。这使您能够记录,电子邮件,重定向等所有您的404错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14465908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档