我收到错误System.Web.HttpException: Path 'OPTIONS' is forbidden.
,因为我们将网站移至新的服务器设置。我无法重新创建错误,但我每天至少收到几次此类例外的电子邮件。可能导致这种情况的任何想法以及我如何解决它?
编辑: 堆栈跟踪:
at System.Web.HttpMethodNotAllowedHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
没有名为OPTIONS的目录或文件,我相信所有权限都是正确的。我找到了一些关于EXCEL从网络服务器获取数据的可能链接的信息,但没有完整的解释如何或正在发生的事情。
再次编辑: 似乎这与在Internet Explorer中打开的Excel文件有关..
答案 0 :(得分:18)
OPTION是“Microsoft数据访问Internet发布提供程序协议发现”(MS Office的一部分)使用的动词,用于在用户从办公室内部应用程序打开URL时发出请求。
您应该可以通过在Word / Excel 2003及更高版本中打开文件>打开并指定文件的完整URL来重新创建问题。或者,通过在办公室文档中放置服务器上excel文件的链接并单击它。
您可以通过将此添加到您的web.config文件来修复它,并为每种文件类型添加其他行:
<httpHandlers>
<add verb="*" path="*.xls" type="System.Web.StaticFileHandler" />
<add verb="*" path="*.xlsx" type="System.Web.StaticFileHandler" />
</httpHandlers>
答案 1 :(得分:2)
您是否收到任何用户错误报告或类似报告。 OPTIONS是一个http动词,用于查找服务器的功能。听起来您的新Web服务器未配置为允许此动词,可能出于安全原因。来自浏览器的普通Web请求不会使用此动词,并且恶意软件/机器人扫描Web服务器通常会使用它来获取漏洞。
答案 2 :(得分:0)
当我在尝试从ASP.Net网页发送.xls文件时遇到此确切错误时,原因是我在此处省略了文件扩展名:
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.ContentType = "application/vnd.ms-excel";
fileName
需要fileName.xls
答案 3 :(得分:0)
当您尝试从localhost打开.xls时,会发生此错误。在IIS的情况下,它不会抛出任何错误。
您可以使用
<httpHandlers>
<add verb="*" path="*.xls" type="System.Web.StaticFileHandler" />
<add verb="*" path="*.xlsx" type="System.Web.StaticFileHandler" />
</httpHandlers>
web.config中的。
答案 4 :(得分:0)
这似乎对我有用:
<httpHandlers>
<add verb="GET,HEAD,POST" path="*" type="System.Web.DefaultHttpHandler" validate="true"/>
<add verb="OPTIONS" path="*" type="System.Web.StaticFileHandler" />
</httpHandlers>
答案 5 :(得分:-2)
这可能是您系统的权限。为了获得更多细节,google up的搜索词是“Path is is off” - OPTIONS部分是一个特定于你的应用程序的字符串。
更好的是,稍微抬起你的大脑并尝试考虑尝试访问具有该名称的URL或文件路径的应用程序的一部分。