2012-05-07 212 views
0

我試圖在Windows Azure上安裝PHP服務。我想創建一個虛擬目錄,我需要保留原始的父文件夾結構。但是,Azure將虛擬目錄作爲根文件夾。此配置適用於IIS 7和Windows Azure SDK中的任何問題。Azure上的虛擬目錄

例如。當訪問地址www.myService.cloudapp.net時,必須訪問'MyFolder/lib/admin',但它必須保留所有的父文件夾結構和文件,PHP

我試圖使用該ServiceDefinition.csdef中的文件:

案例1

<Sites> 
<Site name="Web" physicalDirectory="./MyFolder/lib/admin/">   
    <Bindings> 
     <Binding name="Endpoint1" endpointName="HttpEndpoint" /> 
    </Bindings> 
</Site> 
</Sites>  

案例2

<Sites> 
<Site name="Web" physicalDirectory="./MyFolder/lib/admin/"> 
    <VirtualDirectory name="admin" physicalDirectory="MyFolder/lib/admin"/>   
    <Bindings> 
     <Binding name="Endpoint1" endpointName="HttpEndpoint" /> 
    </Bindings> 
</Site> 
</Sites>  

情形3

<Sites> 
<Site name="Web" physicalDirectory="./MyFolder/lib/admin/"> 
    <VirtualApplication name="admin" physicalDirectory="MyFolder/lib/admin">   
    <Bindings> 
     <Binding name="Endpoint1" endpointName="HttpEndpoint" /> 
    </Bindings> 
</Site> 
</Sites>  

在這些情況下,azure使結構'E:\ siterrot \ 0 \ admin'和'admin'的父文件夾是'0'而不是'lib',PHP需要訪問lib內容。

蔚藍支持虛擬目錄嗎?

回答

0

是的,你應該能夠通過執行類似:

<WebRole name="SampleWebApp"> 
    <Sites> 
    <Site name="SampleSite" physicalDirectory="..\SampleWebApp"> 
     ... 
     <VirtualDirectory name="Scripts" 
          physicalDirectory="..\SampleWebApp\Scripts" /> 
     <VirtualDirectory name="Styles" 
          physicalDirectory="..\SampleWebApp\Styles" /> 
     </VirtualApplication> 
     ... 
    </Site> 
    </Sites> 
    ... 
</WebRole> 

這是來自:

http://msdn.microsoft.com/en-us/library/windowsazure/gg432956.aspx

+0

看來這種配置工作在Azure的1.3,但不是在目前的SDK 1.6版(最後一個)從這個 除此之外,它不會以同樣的方式作爲IIS的作品,因爲Web根目錄是如果物理目錄是./MyFolder/lib/admin/ Web「安裝」文件夾與物理掛接服務器相同,則該文件系統是預期的行爲,或者是網絡文件系統,因此我們無法訪問lib中的其他目錄是一個錯誤? – user1379233

0

最簡單的方法是進入你的蔚藍的門戶網站和去配置您的應用程序。爲了這個特定的目的,一直向下滾動找到「虛擬應用程序和目錄」。

**enter image description here**