我在web.config文件中设置了一个HTTP处理程序:
并在我的网站的根目录中有一个文件SeoHandler.ashx,该文件指向App_Code文件夹中的SeoHandler.ashx.cs(该网站不是Web应用程序项目).
当我在本地运行站点并输入类似"dork_test.aspx"的URL时,请求被重定向到处理程序,然后处理业务.
但是当编译的站点在我的域上运行时,"dork_test.aspx"将导致:
'/'应用程序中的服务器错误.
无法找到该资源.
说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用.请查看以下网址,确保拼写正确.
请求的URL:/dork_test.aspx
为什么SeoHandler会在本地捕获"dork_test.aspx"请求但不在服务器上?
不确定这是否重要,但当我点击我的域上的URL SeoHandler.ashx时,处理程序就像它想象的那样工作.
Web主机是否有可能忽略我的输入
?
检查服务器上的IIS,未设置.NET处理程序以验证所请求的路径是否存在:
转到网站或虚拟目录的属性
主目录选项卡
单击下部的"配置"
找到.ASPX的扩展名并单击编辑,有一个复选框,上面写着"验证文件是否存在".
如果选中该复选框,则.NET将不会提供任何未映射到同一位置的物理文件的请求.