2014-12-05 30 views
0

我有一個C#web應用程序,運行良好時,由VisualStudio託管。IIS7添加亂碼到URL,導致CSS文件404

當我在IIS上託管它時,我的CSS樣式表的鏈接返回一個404錯誤。

基本上是:

http://hostname/Sitename/default.aspx 

成爲

http://hostname/Sitename/(S(ubd3fhzfs04ebb1qzfsjlsse))/default.aspx 

我不知道什麼可能已經改變了,但是這開始發生後發佈幾個星期前。

我已嘗試刪除網站文件夾並重新發布。

我有2個其他applicatins託管了通過VS也公佈,其網址是正常的,即

http://hostname/Sitename/default.aspx 

從我所知道的,web.configs和IIS設置是所有網站相同。

+1

你可以顯示不工作的頁面和顯示亂碼的頁面的.aspx標記嗎? – MethodMan 2014-12-05 19:25:46

+0

看起來您已配置爲無Cookie。 http://msdn.microsoft.com/en-us/library/aa479314.aspx – TyCobb 2014-12-05 19:31:21

+0

是的,我已經添加cookiestate = false sessionstate超時 – cheebacat 2014-12-05 20:23:34

回答

1

該URL包含一個會話Cookie ID,它是由無cookie會話引起的(cookie被禁用並且自動檢測已啓動,或者您明確設置了無Cookie會話,或者由設備特定的ASP.NET組態)。它可以通過更改會話設置來修復。但是,我也會修復我的靜態文件引用是相對的而不是絕對的,所以它們不會在不同的設置中導致404錯誤。 Cookieless URL是由ASP.NET透明地處理的,所以它們不會自己導致404錯誤,只要你有硬編碼的絕對URL,這是不好的做法。