/ / Jak wykluczyć katalog z przepisywaniem adresów URL IIS? - url, iis, iis-7, przepisuj, url-rewrite-module

Jak wykluczyć katalog z przepisywaniem URL-i IIS? - url, iis, iis-7, przepisać, moduł przepisywania adresu URL

Mam regułę domain.com/index.php i przyjazną regułę URL do przekierowania domain.com/index.php?s=? upraszanie. Korzystam z serwera internetowego IIS z dodatkiem do przepisywania adresów URL.

Powyżej działa dobrze. Istnieje jednak problem z żądaniami do katalogu administratora ...

Mam także domenę.com/admin/cloud/index.php, który czasami jest potrzebny do uzyskania lub wysłania danych (przez Ajax). Gdy reguła jest aktywna, dane nie są dostępne, a po usunięciu powyższej reguły dane są dostępne.

Jak mogę użyć powyższej reguły URL i wykluczyć wszystkie inne żądania wewnątrz (lub do) domeny.com/admin/ ..?

To jest mój obecny zestaw reguł:

<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
<match url="^index.php$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^s=([^=&amp;]+)$" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?s={R:1}" />
</rule>

Próbowałem wielu sposobów, w tym informacji o ścieżce ... ale bez powodzenia. Może ktoś może dać podpowiedź?

Dzięki!

Odpowiedzi:

22 dla odpowiedzi nr 1

Spojrzeć tutaj możesz dodać tę regułę, więc gdy żądanie, którego nie chcesz przetwarzać, przychodzi, możesz je zignorować i przerwać przetwarzanie.

Powinien być umieszczony jako pierwszy, aby ta reguła była wykonywana przed dwoma pozostałymi.

<rule name="block" stopProcessing="true">
<match url="^admin/cloud/index.php$" />
<action type="None" />
</rule>