2011-10-31 74 views
0

我的項目具有覆蓋主題文件夾中的視圖和內容(如果存在)的功能。在主題文件夾的路徑將通過網站有所不同,所以我的文件夾結構是這樣的:找不到主題文件夾內的資源

Themes\ 
    SiteA\ 
     Content\ 
      Images\ 
       logo.png 
      screen.css 
     Views\ 
      Home\ 
       Index.cshtml 

我能夠成功地重寫該網站的自定義的默認視圖。但是我無法訪問主題的Content文件夾中的任何內容。如果我直接在http://localhost:port/Themes/SiteA/Content/screen.css處訪問文件,則無法找到資源。當我嘗試訪問圖像文件夾中的任何內容時,我也會遇到此錯誤。去年,一位同事能夠爲一個單獨的項目做到這一點,但是我找不到任何對web.config或其他文件的任何顯着變化,這些變化將使其工作。任何幫助表示讚賞!

回答

3

一位同事發現了這個問題。當我安裝的主題文件夾,我的意見,這有這個選項複製的web.config:

<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 

我們從*到* .cshtml改變路徑屬性值和文件現在都可以訪問。

+1

這太棒了!你爲我節省了很多時間! – k25

0

您是否檢查過文件系統中基礎文件夾的權限?在我的經驗,往往存在無法通過URL訪問資源的原因 - 由網站使用的憑據可能不被授權訪問底層資源

+0

我看不到任何權限差異。文件夾和CSS文件是在Visual Studio中創建的,我以前沒有訪問過它們的問題;但是,這些文件位於腳本或內容文件夾中,而不是我自己的主題文件夾,其權限與內容相同。 – Mathachew

1

我不能發表評論,所以我發帖這裏。你有一個路線匹配的網址?嘗試使用RouteDebuger查看命中的路線。

+0

我將這個http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx添加到了項目中,它能夠爲我提供工作URL的路由狀態,但不能爲我的文件主題文件夾。它繼續告訴我無法找到資源。這必須是一些跡象,但我不確定目前的情況。 – Mathachew

+0

你有任何主題子目錄中的web.config?此外,你在VS/IIS中測試網站嗎? – MikeSW

+0

我不得不因爲我們使用的剃刀,這最終成爲了問題的根本原因(感謝我的同事)到web.config文件添加到根主題文件夾。我已經在下面發佈了答案。 – Mathachew