我编写了一个自定义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/
答案 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”下面引用的文章的底部。