Перезапись URL IIS - захват правил, несмотря на существующий файл - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть правило, которое переписывает URL-адреса, если физический файл не существует (поэтому статические файлы могут быть возвращены) - однако по какой-то причине правила все равно переписываются, к большому разочарованию.

Вот мой Интернет.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

<system.webServer>

    <rewrite>
        <rules>
            <clear />
            <rule name="Front Page">
                <match url="/?" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                <action type="Rewrite" url="/Home/FrontPage" />
            </rule>
            <rule name="Map Everything" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="true" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile"      negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="EntryPoint.php/{R:1}" appendQueryString="true" />
            </rule>

        </rules>
    </rewrite>

</system.webServer>

1 Ответ

0 голосов
/ 06 декабря 2011

Ах, оказывается, проблема была в "Правиле первой страницы", а в правиле "/?" соответствовал всему, когда я должен был использовать «^ $».

После исправления этого правила IsFile / IsDirectory соблюдались.

...