首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用重定向为IIS7网站配置自定义ASP 404页面

问用重定向为IIS7网站配置自定义ASP 404页面
EN

Stack Overflow用户
提问于 2011-05-16 11:50:31
回答 3查看 23.1K关注 0票数 2

我们正在将一个现有的网站从IIS6迁移到IIS7,但是在设置404错误页面时遇到了一些困难。我们的404错误页面的工作方式如下:

  • 一个自定义的ASP页面根据一个简短的“特殊”URL列表(例如http://example.com/limited-offers)检查URL。
  • 如果URL已知,则重定向到该页面的实际URL。
  • 否则,访问者将被重定向到带有404状态代码的静态错误页。

有了IIS6,这就像广告中所说的那样有效,但是使用IIS7,一些事情已经发生了变化。当IIS7遇到定义错误页的状态代码时,它将始终显示已配置的错误页。如果出现带有404状态代码的静态错误页面,这意味着IIS7将再次执行自定义ASP-页。这将导致无限重定向。

我们发现可以通过在Web.Config中添加一个设置来规避这种行为

代码语言:javascript
复制
<system.webServer>
  <httpErrors existingResponse="PassThrough" />
</system.webServer>

但是,在添加了这个之后,我们的自定义ASP页面拒绝重定向.在与Fiddler检查之后,IIS7似乎强制了404状态代码,覆盖了我们的302重定向。

有人能推荐另一种方法来解决我们的问题吗?

EN

回答 3

Stack Overflow用户

发布于 2011-05-16 12:48:59

我成功地使用了从IIS 6迁移到IIS 7的类似设置。

我通过IIS在相关站点上进行了配置,但如果对您来说更容易,可以通过web.config文件进行配置。

您可以根据应该是301、302还是404添加条件标头。

404;

代码语言:javascript
复制
Response.Status = "404 Not Found"
Response.AddHeader "Location", pagename

302 (临时重定向);

代码语言:javascript
复制
Response.Status="301 Object Moved"
Response.AddHeader "Location", pagename

301 (永久重定向);

代码语言:javascript
复制
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", pagename

IIS站点的应用程序池使用集成管道模式。附件是网站调试部分的设置。

​

​

票数 6
EN

Stack Overflow用户

发布于 2012-10-28 23:19:14

前几周,我遇到了一个类似的情况。解决方案是按照以下方式配置<httpErrors>:

代码语言:javascript
复制
<httpErrors errorMode="Custom" existingResponse="Auto">

  <remove statusCode="404" subStatusCode="-1" />
  <error statusCode="404" 
         prefixLanguageFilePath="" 
         path="/404.asp" 
         responseMode="ExecuteURL" />

  <remove statusCode="500" subStatusCode="100" />
  <error statusCode="500" 
         subStatusCode="100" 
         prefixLanguageFilePath="" 
         path="/500-100.asp" 
         responseMode="ExecuteURL" />

</httpErrors>

这适用于Cactushop (用经典ASP编写),Cactushop具有“友好”的url,并使用404处理程序页面解析url和呈现产品或列出产品类别等。

票数 2
EN

Stack Overflow用户

发布于 2011-05-16 13:12:11

或者,您可以考虑使用IIS模块:URLRewrite。这将允许您设置自定义SEO友好URL。您可能会发现,您可能会发现,您希望看到的东西,以改善您的应用程序前进,而不是作为一个修复您现有的问题,因为可能需要一些时间来学习。

有一些关于如何使用这个工具的优秀文章、视频教程和信息。

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

https://stackoverflow.com/questions/6016933

复制
相关文章

相似问题

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