resource porta microsoft management azure azure-web-sites

microsoft - portal azure web



Reescribir una URL en una aplicaciĆ³n web de Azure (3)

Tengo una regla de enrutamiento de comodín simple que quiero aplicar para mi aplicación web de Azure.

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

¿Tengo alguna opción aquí dado que no puedo RDP en la máquina y jugar con IIS? Este no es un sitio web ASP.Net, es una simple aplicación SPA.


Necesita crear un archivo web.config en su carpeta wwwroot y colocar allí las entradas de configuración relevantes.

Aquí hay un ejemplo de una regla web.config, para darle una idea de cómo debería verse.

El siguiente ejemplo redirige el dominio predeterminado * .azurewebsites.net a un dominio personalizado (a través de http://zainrizvi.io/2016/04/07/block-default-azure-websites-domain )

<configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect rquests to default azure websites domain" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_HOST}" pattern="^yoursite/.azurewebsites/.net$" /> </conditions> <action type="Redirect" url="http://www.yoursite.com/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>


Si desea realizar reescrituras reales (no redirecciones), no olvide habilitar ARR con el archivo applicationHost.xdt puesto en la carpeta del sitio con el siguiente contenido:

<?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>


Si simplemente desea que todas las URL que se resuelven en este servidor y sitio redirijan a index.html , puede usar esta sección de reescritura:

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

Esto es muy similar a lo que tiene, excepto algunas correcciones de sintaxis menores, por ejemplo, el patrón debe ser ". *" Y el objetivo de reescritura de URL simplemente "index.html". Tenga en cuenta que esto significa que se reescribirán TODAS las URL de su sitio, incluso para otros recursos como archivos CSS y JS, imágenes, etc. Por lo tanto, será mejor que busque recursos de otros dominios.