Domanda

Non riesco a ottenere la mia testa intorno a queste regole di riscrittura per qualche motivo e speravo che voi ragazzi potrebbe aiutare. Quello che voglio è una regola di uscita che riscriverà i percorsi per il link, img, script e tag di ingresso.

Voglio cambiare questo: http://www.mysite.com/appname/ css / file.css

Per questo: http://cdn.mysite.com/css/file.css

Quindi, in pratica ho bisogno di scambiare il nome host e rilasciare il nome dell'applicazione dall'URL. Ho i filtri pre-condizione per * aspx file impostati già, ma il resto sembra come il greco a me.

Modifica per chiarezza

L'appname nell'URL sopra è un'applicazione in IIS. E 'un segnaposto per qualsiasi appname capita di essere in uso. Potrebbe essere una qualsiasi delle oltre 50 applicazioni diverse con la nostra messa a punto corrente. Ci sarà sempre essere un appname. Forse che renderà la regola ancora più semplice.

Il nome host, in questo caso www.mysite.com, può anche variare leggermente in termini di sottodominio. Potrebbe essere www1.mysite.com, www2, ecc Inoltre, appena capito che ho bisogno di mantenere la SSL se c'è.

Quindi, credo che quando si arriva al dunque, ho davvero solo bisogno di prendere l'URL, meno la nomeapp, e aggiungerlo al nuovo dominio, pur rispettando il protocollo che è stato utilizzato.

Original URL: http (s): // {host} / {appname} / {URL}

Output: http (s): //cdn.mysite.com/ {URL}

È stato utile?

Soluzione

Si assume che il dominio del sito web è sempre lo stesso, questa regola dovrebbe fare:

<rule name="CdnRule" preCondition="OnlyAspx" >
    <match filterByTags="Img, Input, Link, Script" pattern="^(.+)://.+?\.(.+?)/.+?/(.*)" />
    <action type="Rewrite" value="{R:1}://cdn.{R:2}/{R:3}" />
</rule>

<preConditions>
<preCondition name="OnlyAspx">
    <add input="{PATH_INFO}" pattern=".+\.aspx$" />
</preCondition>
</preConditions>

EDIT: cambiato in base alla domanda chiarito

I assumere il sottodominio (www, www2, ...) è sempre lì e deve essere ignorato nella URL di destinazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top