我有这个在我的 VS 网络服务器上运行良好的 url
http://localhost:4454/cms/account/edituser/email@domain.com (works)
但是当我将此站点发布到 IIS7.5 时,它只会抛出 404。
http://dev.test.com/cms/account/edituser/email@domian.com (does not work)
但是如果我删除电子邮件地址会发生奇怪的事情
http://dev.test.com/cms/account/edituser/email (works , no 404)
但是如果我用查询字符串更改我的 url 它工作正常
http://dev.test.com/cms/account/edituser?id=email@domain.com (works)
这是我的路线条目
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new[] { "App.NameSpace.Web.Controllers" }
);
我注意到的奇怪的事情是,当服务器抛出 404 错误页面时,这是一个标准的 iis 404 页面,而不是我拥有的一个自定义页面。
所以我想知道我的路由映射是否有任何问题,或者 IIS 不喜欢将电子邮件作为参数的 url。但是我的本地开发人员一切正常。
谢谢