2012-02-20 84 views
7

我想在Orchard網絡應用程序內部有一個/ downloads文件夾,我可以指引客戶端,以便他們可以下載文件即。 www.mydomain.com/downloads/test.txtOrchard web應用程序內部的虛擬目錄

在IIS中,我在Orchard網站下創建了一個指向服務器上的下載文件夾的虛擬目錄(不是應用程序)。

在果園Global.ascx文件,我已經添加了下面,以爲這是一個路由的問題:如果

肯定這是必需的
public static void RegisterRoutes(RouteCollection routes) { 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.IgnoreRoute("downloads/{*pathInfo}"); // added this IgnoreRoute 
} 

不是100%。

但是,當我去下載文件www.mydomain.com/downloads/test.txt時,我繼續收到404錯誤。

回答

8

找到修復感謝這個帖子:http://orchard.codeplex.com/discussions/280041

首先,它需要的是果園的網站下的應用程序,而不僅僅是一個虛擬目錄。在IIS中,您可以右鍵單擊虛擬目錄>轉換爲應用程序。

之後,問題是Orchard中的web.config傳播到子應用程序。要停止此操作,您需要在Orchard的web.config文件中的<system.web><system.webserver>節點周圍添加<location path="." inheritInChildApplications="false">。您可以在位置標記here上閱讀更多內容。

做出這些改變後,我可以成功下載我的test.txt文件沒有問題。

2

非常好,非常感謝你的回答。直客在這裏我的果園風格打破了執行它之後,但在看看這個鏈接之後,我發現這段代碼:

<location path="Themes"> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers accessPolicy="Script"> 
      <remove name="StaticFile" /> 
     </handlers> 
    </system.webServer> 
    </location> 
    <location path="Core">  
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers accessPolicy="Script"> 
      <remove name="StaticFile" /> 
     </handlers> 
    </system.webServer> 
    </location> 
    <location path="Media"> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers accessPolicy="Script"> 
      <remove name="StaticFile" /> 
     </handlers> 
    </system.webServer> 
    </location> 
    <location path="Modules"> 
    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <handlers accessPolicy="Script"> 
      <remove name="StaticFile" /> 
     </handlers> 
    </system.webServer> 
    </location> 

這將解決您的果園風格,對於具有這個問題的人。

它應該放在網站根目錄下的web.config文件中,在<runtime>之前,最後</location>之後,您將剛添加完成包裝<system.webServer>

0

你不一定需要破解果園下的配置。 在我類似的情況有足夠的創建具有下列內容的虛擬目錄下一個web.config:

<configuration> 
<system.webServer> 
<handlers accessPolicy="Read, Script"> 
    <clear /> 
    <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Script" /> 
</handlers> 
</system.webServer> 

相關問題