我正在尝试在网络表单中使用 asp 路由。
想要将主页路由到 defaut.aspx
所有其他 aspx 页面到 cms.aspx
我在全球制作了这行代码
routes.MapPageRoute(//this for home page
"Home",
string.Empty,
"~/Default.aspx"
);
routes.MapPageRoute("defaultRoute", "{*value}", "~/cms.aspx");//all other pages
这适用于本地主机
http://localhost:36443 //redirect to default.aspx
http://localhost:36443/page1//redirect to cms.aspx
问题从这里开始:
http://localhost:36443/page1/somevalue
这次路由不识别物理文件(css js ...等)并开始将它们路由到cms.aspx。
在生产网站上:
http://mySubDomain.website.com
问题更奇怪,wcf 正在路由到 cms.aspx。
例如这个链接:
http://subdomain.website.com/WebServices/webservice.svc/webserviceFunction
重定向到 cms.aspx 而不是忽略物理文件 svn。
我尝试了各种忽略,完全没有效果
routes.Ignore("{resource}.svc/{*pathInfo}");
routes.Ignore(("{file}.svn"));
routes.Ignore("{*allcss}", new { allcss = @".*\.css(/.*)?" });
routes.Ignore("{*alljpg}", new { alljpg = @".*\.jpg(/.*)?" });
routes.Ignore("{*svc}", new { alljs = @".*\.svc(/.*)?" });
我认为 microsoft 从 mvc 到 webform 的路由没有任何问题。
有谁知道如何解决这个问题。
谢谢
巴罗兹