2015-06-15 159 views
1

所以我有一個在Azure網站上發佈的.NET MVC應用程序,當點擊相應的超鏈接時,它應該爲存儲在blob容器中的靜態html頁面提供服務。Windows Azure網站和Blob存儲中的靜態HTML

我的問題是:

  1. 訪問Azure中的BLOB的方式是 https://blobtest.blob.core.windows.net/container/htmlpage1.html, 然而奇特的部分是,當我登錄到我的Azure的網站,網址爲 一樣的東西: http://azuretestwebapp.azurewebsites.net/user123和如果我點擊 超鏈接到我的html blob,它不禁讓我通過 blob azure網站(當然)。因此,我想知道是否有 是一種具有類似於此的網址的方法: http://azuretestwebapp.azurewebsites.net/user123/container/htmlpage1.html 考慮到html頁面存儲在Azure中的其他位置。
  2. 如果使用Azure網站或在Blob中存儲 靜態html頁面不可行,那麼更好的方法是什麼?

預先感謝您的時間。

回答

1

您可以修改您的站點的web.config,以使用重定向規則將對靜態頁面的請求轉發到blob存儲。然後,靜態內容將存儲在Blob存儲中並從中提供服務。

將以下內容放在名爲web.config的文件中(或者修改現有的web.config),並將web.config放置在站點內容旁邊的站點/ wwwroot文件夾中。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="static" stopProcessing="true"> 
      <match url="static/(.*)" /> 
      <action type="Rewrite" url="https://blobtest.blob.core.windows.net/static/{R:1}" />   
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 
</configuration> 
+0

請問您能更具體嗎?我如何使用這個規則? – Orochi1992

+0

對不起,我一直得到404.4錯誤 – Orochi1992

+0

這條規則將從 .azurewebsites.net/static/path-to-file轉發到https://blobtest.blob.core.windows.net/static/path-到文件。很顯然,文件必須存在於你的blob存儲中的預期路徑中。 – theadriangreen