Moduł przepisywania IIS i aplikacje podrzędne
Oto, co wdrożyłem:
testRedirect
to pusta strona internetowa. Wszystkie podaplikacje to podfoldery, które zostały przekonwertowane w aplikacji. Wszystkie są witrynami MVC ASP .Net.
Oto, co chcę skonfigurować:
Http://localhost/
musi pokazać zawartośćSiteName1
bez wyświetlaniaHttp://localhost/SiteName1/
na pasku adresu (musi zostaćHttp://localhost/
)
Http://localhost/SiteName1/
musi pokazać zawartośćSiteName1
bez wyświetlaniaHttp://localhost/SiteName1/
na pasku adresu (musi zostaćHttp://localhost/
)
Http://localhost/SiteName2/
pokazuje zawartośćSiteName2
i wyświetlaHttp://localhost/SiteName2/
na pasku adresu (takie samo zachowanie dlaSiteName3
& SiteName4
i wszelkie inne strony ....)
Innymi słowy, chcę mojegoSiteName1
zachowywać się jakDom teren
To, co próbowałem do tej pory, jest podobne do odpowiedzi udzielonej przez @cheesemacflytutaj:
<rules>
<rule name="Redirect if SiteName1" stopProcessing="true">
<match url="^SiteName1/(.*)$" />
<action type="Redirect" url="{R:1}" />
</rule>
<rule name="Rewrite to sub folder">
<match url="^.*$" />
<action type="Rewrite" url="SiteName1/{R:0}" />
</rule>
</rules>
Działa świetnie dla Case1 i 2, ale nie dla pozostałych.
Próbowałem dodać reguły takie jak ta, ale nie udało się ...
<rule name="if_not_SiteName1" stopProcessing="true">
<match url="^SiteName1/(.*)$" negate="true" />
<action type="None" />
</rule>