web教學 - portal azure cloud




在Azure Web應用程序中重寫URL (2)

我有一個簡單的通配符路由規則,我想申請我的Azure網絡應用程序。

<rule name="MyRule">
  <match url="*" />
  <action type="Rewrite" url="/index.html" />
</rule>

我在這裡有任何選擇,因為我不能RDP到機器和小提琴的IIS? 這不是一個ASP.Net網站,這是一個簡單的SPA應用程序。


如果你想做實際的重寫(不重定向),不要忘記啟用ARR與applicationHost.xdt文件放到站點文件夾與以下內容:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.webServer>
    <proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="false" />
    <rewrite>
      <allowedServerVariables>
        <add name="HTTP_ACCEPT_ENCODING" xdt:Transform="Insert" />
        <add name="HTTP_X_ORIGINAL_HOST" xdt:Transform="Insert" />
      </allowedServerVariables>
    </rewrite>
  </system.webServer>
</configuration> 

如果只是想要解析為這個服務器和網站的所有URL重定向到index.html你可以使用這個重寫部分:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="SPA">
                    <match url=".*" />
                    <action type="Rewrite" url="index.html" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

除了一些小的語法修正外,這與你所擁有的非常相似,例如模式應該是“。*”,而重寫URL目標只是“index.html”。 請注意,這意味著所有網址到您的網站將被重寫,即使是其他資源,如CSS和JS文件,圖像等,所以你最好從其他域獲取你的資源。