IIS6通配符映射到ASP.NET – IIS 404中没有文件扩展名

我试图执行我所理解的相对简单的任务。 我想从我网站上的url中删除附加信息。 我在我的应用程序中正确设置了处理和重写URL – 麻烦的是我无法通过IIS来实际得到我的应用程序没有扩展名。

细节:

我正在Windows Server 2003上运行IIS6。我进入了我的应用程序的网站,进入主目录选项卡,单击“configuration”,并添加通配符映射到以下文件:

c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

我所validation的是与.ascx等应用程序扩展部分中使用的相同。

如果我导航到http://mywebsite.com/Blogs ,结果如下:

 HTTP/1.1 404 Not Found Content-Length: 1635 Content-Type: text/html Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Date: Thu, 14 Jan 2010 15:04:49 GMT 

这似乎是一个标准的IIS 404消息。 如果我导航到http://mywebsite.com/Blogs.aspx我得到我的ASP.NET应用程序….

我怎样才能解决这个问题? 我觉得我已经加倍检查了十几次,但无济于事。 我必须失去一些明显的东西。

更新:这里是我正在使用的asp.net url重写器给出的确切说明:

IIS 6.0 – Windows 2003 Server

  • 打开网站/虚拟目录的属性页面。
  • 点击“主目录”标签
  • 点击“configuration”button,select“映射”选项卡
  • 单击“通配符应用程序映射”部分旁边的“插入”
  • 浏览到aspnet_isapi.dll(通常在c:\ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll)
  • 确保“检查该文件是否存在”未被选中
  • 点击确定,确定,确定closures并应用更改

更新2:

我还没有find这个决议。 应用程序似乎没有收到来自IIS的请求,有任何进一步的想法?

404是因为ASP.NET没有find一个名为“博客”的文件。 这只是说,所有的文件应该由aspnet_isapi.dll处理(解释)

您将需要放置一些东西(自定义路由引擎或URL重写器),将URL映射到文件。 尝试Helicon的ISAPI重写Ionic的Isapi重写

当你configurationIIS时,有两个“检查文件是否存在”。 有一个当你试图插入,并且必须保持不被检查(正如你上面的原始指令build议)。 第二个是列表中列出所有types的扩展名,您select.aspx并单击编辑,那么勾选checkbox。 这将使其工作。 谢谢。