/ / Ako nastavím pravidlo v web.config na prepísanie do podadresára / súboru v IIS7? - iis-7, web-config, prepísať

Ako nastavím pravidlo v web.config na prepísanie do podadresára / súboru v IIS7? - iis-7, web-config, prepísať

Mám problém pokúsiť sa o prepísanie práce v IIS7 web.config.

Potrebujem adresy URL, ako je / err / interaccess, aby boli prepísané na /err/404new.asp (nie presmerovanie, pretože nechcem vystaviť súbor.

Snažil som sa nasledujúce a funguje to len vtedy, ak používam / interaccess, ale nie / err / interaccess

           <rule name="Rewrite Interaccess Error" enabled="true" stopProcessing="true">
<match url="^tinteraccess$" />
<action type="Rewrite" url="/err/404new.asp" />
</rule>

Akákoľvek myšlienka o prečo? Snažil som sa nájsť dokumentáciu o tomto a nemohol nájsť nič, čo sa týka tohto použitia.

odpovede:

1 pre odpoveď č. 1

Mágia je v regulárnom vyjadrení <match> tag. Ak chcete, aby sa zhodovala s vašou presnou adresou URL, použite:

       <rule name="Rewrite Interaccess Error" enabled="true" stopProcessing="true">
<match url="^err/interaccess$" />
<action type="Rewrite" url="/err/404new.asp" />
</rule>

Ak by ste chceli zodpovedať všetkému /err/ používate:

      <rule name="Rewrite Interaccess Error" enabled="true" stopProcessing="true">
<match url="^err/" />
<action type="Rewrite" url="/err/404new.asp" />
</rule>

To všetko je veľmi dobre zdokumentované, napr .: http://www.iis.net/downloads/microsoft/url-rewrite (pozri Súvisiace vzdelávanie)