今天早上,我在本地主機上的ASP.NET MVC 2網站上的單個CSS文件上返回302錯誤,我不知道會發生什麼已經改變,導致這一點。ASP.NET MVC:CSS文件存在時返回302錯誤
本地主機站點使用IIS 7.5,但我對IIS的使用經驗有限,所以我沒有仔細考慮過會發生什麼。
的URL CSS文件是:
http://localhost/MySite/Content/Site.css?v=16
,並在響應的位置標頭看起來是這樣的:
/MySite/Account/Login?ReturnUrl=%MySite%2fContent%2fSite.css%3fv%3d16&v=16
這讓我覺得,MVC被重定向靜態文件或東西像那樣,但是如果是這樣的話,那麼我會希望我所有的圖像,CSS和JavaScript文件都做到了不一樣。以防萬一,這裏是RegisterRoutes()
在Global.ascx一個簡化版本:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("", "Account/{action}/", new { controller = "Account" });
routes.MapRoute("", "{action}", new { controller = "Home", action = "Index" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Error",
"{*url}",
new { controller = "Home", action = "ResourceNotFound" }
);
}
另外,如果我改變我的CSS文件Site2.css而取而代之的是,同樣的事情發生引用的名稱。
發生了什麼事?
唉就是這樣。這是對特定CSS文件的權限問題,而不是整個內容目錄(這會使所有靜態內容都發生同樣的情況)。仍然不確定這些權限是如何改變的。授予AppPool用於授權的帳戶的權利解決了該問題。 – ajbeaven 2012-02-22 23:37:59
我有同樣的問題,它是文件本身的權限,而不僅僅是目錄。 – EtienneT 2014-01-06 18:31:10
我已經檢查過,這個答案讓我再次檢查..我的不只是在文件上,但它讓我審查第5次的權限,因爲它證實了我的想法..在我的情況下,我比較的環境打了「用戶「網站文件夾中的組。不會說這是一個最好的實踐,它恰好是環境缺失的團體。當然,使用IUSR直接工作,但我保持匹配,以防止混淆。 – Tony 2016-12-30 18:56:57