ASP.NET URL重写不适用于文件夹URL

时间:2009-05-07 20:54:30

标签: asp.net url-rewriting

我编写了一个自定义URL重写模块,用于获取某些路径并将它们映射到数据库中的目录。

我正在使用帖子底部链接中列出的技术。

我正在使用.NET 3.5。问题是它只在原始URL末尾有页面名称时才有效,但如果页面名称没有关闭,那么它甚至都不会调用我的处理程序。 例如,URL

http://mysite.com/folder/index.aspx  works but 
http://mysite.com/folder/            does not. 

只有文件夹的人永远不会进入我的处理程序类。您是否需要执行某些操作才能使文件夹正常工作?

http://www.simple-talk.com/dotnet/asp.net/a-complete-url-rewriting-solution-for-asp.net-2.0/

2 个答案:

答案 0 :(得分:1)

使用.NET重写时是否存在已知问题。您需要正确配置通配符映射。这是一个很好的链接:

http://devtalk.dk/2007/03/19/Wildcard+Mapping+And+URL+Rewriting+On+IIS7.aspx

另一个选项是IIS ISAPI用正则表达式重写。 在我的公司,我们实际上都使用它们。

查看此链接以获取参考:

http://www.kowitz.net/archive/2006/09/15/url-rewriting-using-ihttpmodule-vs-isapi-rewrite.aspx

答案 1 :(得分:0)

我不确定如何解决它,但原因是因为IIS将其视为目录(它是)并且不知道如何将文件夹传递给ASP.NET isapi过滤器和触发.Net处理程序。

您可以尝试使用IIS7并在actuall IIS管道中插入处理程序。或者查看标题“使用RewriteModule”下面引用的文章的底部。