IIS 7 不执行 301 重定向

IIS 7 不执行 301 重定向

我刚刚将一些网站从 IIS6 迁移到 IIS7,其中一个网站遇到了问题。

当网站 (www.ourdomain.com/site1/) 的请求带有尾部斜杠时,一切都会正常。但如果省略尾部斜杠 (www.ourdomain.com/site1),则请求会失败。

显然它没有对没有斜杠的 URL 进行 301 重定向,导致 ASP.NET 抛出异常。同一域中的其他网站不会发生这种情况。

这可能是什么原因造成的?

编辑:我得到的异常是:System.Web.HttpException:无法执行 URL。在 System.Web.Hosting。 ISAPIWorkerRequestInProcForIIS6.BeginExecuteUrl(字符串 url、字符串方法、字符串 childHeaders、布尔 sendHeaders、布尔 addUserIndo、IntPtr token、字符串名称、字符串 authType、字节 [] 实体、AsyncCallback cb、对象状态)在 System.Web.HttpResponse.BeginExecuteUrlForEntireResponse(字符串 pathOverride、NameValueCollection requestHeaders、AsyncCallback cb、对象状态)在 System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext 上下文、AsyncCallback 回调、对象状态)在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤、布尔和 completeSynchronously)

答案1

您能提供更多有关所获错误的详细信息吗?我的第一个猜测是 StaticFile 处理程序映射不存在(或配置不正确)。在处理程序映射设置中,您应该有一个具有以下设置的模块映射:

名称:StaticFile
路径:*
类型:StaticFileModule、DefaultDocumentModule、DirectoryListingModule

请求限制:
映射:在文件或文件夹上调用
动词:全部
访问:读取

如果这是问题所在,您将收到 404.4/未找到错误,并出现子错误“您正在寻找的资源没有与之关联的处理程序”

相关内容