网址路由和 IIS7 03-24-2011 04:24 PM
你好,
我对 asp.net 4.0 和 IIS7 中的 Url Routing 有疑问。下面我解释了我的网站结构是什么以及它是如何在 IIS7 中配置的。
目录结构:
1.我的网站>索引.aspx
2.我的网站>关于我们>Index.aspx
3.我的网站>ContactUs>ContactUs.aspx
II7 配置:
我已将应用程序的默认文档配置为 Index.aspx 现在,当我访问以下 url 时,IIS7 自动执行很少的路由(请注意,直到现在我还没有在 global.asax 中添加任何路由)
1.localhost/MyWebsite 会被转发到 localhost/MyWebsite/Index.aspx 好!!
2.localhost/MyWebsite/Aboutus 将被转发到 localhost/AboutUs/Index.aspx (此重定向完成,因为父级默认文档由 AboutUs 文件夹继承) 好的!
3.localhost/MyWebsite/ContactUs == Http Error 403.14 Forbidden(这个错误是由IIS7抛出的,因为它在Conactus文件夹中没有找到Index.aspx)很好!
好的,所以为了将 localhost/MyWebsite/ContactUs 路由到 localhost/MyWebsite/ContactUs/Index.aspx,我在 global.asax 的 RegisterRoutes() 方法中添加了以下代码,希望这能满足我的要求。
routes.MapPageRoute('ConactUs','ContactUs','~/ContactUs/ContactUs.aspx');
所以现在当我访问 localhost/MyWebsite/ContactUs 时,我仍然会收到相同的 Forbidden 错误。那么根目录下的 IIS7 默认页面设置是否不允许我的路由工作?
如果我在每个文件夹中都有 Index.aspx 页面,那么它可以 ieredirection 到 /Contactus/Index.aspx ...但是如果我在每个页面中都没有 Index.aspx(我的默认文档)怎么办?
谢谢和亲切的问候,米。