我有這個網址這工作絕對沒我的VS Web服務器上MVC4:URL的電子郵件路由作爲參數
http://localhost:4454/cms/account/edituser/[email protected] (works)
但是當我發佈這個網站IIS7.5,它只是拋出404
http://dev.test.com/cms/account/edituser/[email protected] (does not work)
但奇怪的事情發生,如果我刪除的電子郵件地址
http://dev.test.com/cms/account/edituser/email (works , no 404)
,但如果我改變我的網址查詢字符串,它工作正常
http://dev.test.com/cms/account/[email protected] (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不喜歡有電子郵件作爲參數的網址。但一切工作正常與我的本地開發。
謝謝
謝謝@Raciel。 MVC自身編碼就像電子郵件%40domian.com – Nnp
Base64 + UrlEncode應該給你你需要的東西。 –
在哪裏添加ToBase64和FromBase64函數? –