Несколько URL переписывает на Windows Server 2012 - PullRequest
0 голосов
/ 07 сентября 2018

Мне нужно, чтобы все URL были перенаправлены на главную страницу, но я хочу игнорировать файлы js и css. У меня действительно нет никакого опыта с переписыванием URL, и результат поиска не был очень полезен .. Как определить правило, которое перенаправляет URL-адреса на страницы index.php, но игнорирует любой содержащий URL-адрес. (точка) или конкретно .js & .css. Вот что я попробовал:

<configuration>
<system.webServer>
    <rewrite>
    <rules>
        <rule name="redirect all requests" enabled="false" stopProcessing="true">
            <match url="^(.*)\.js$" ignoreCase="true" />
            <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" />
            </conditions>
            <action type="Rewrite" url="{R1}" appendQueryString="true" />
        </rule>
            <rule name="Redirect js files" enabled="true">
                <match url="(.*)\.js" />
                <action type="Rewrite" url="{R:0}" />
            </rule>
            <rule name="Redirect all pages" enabled="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{QUERY_STRING}" matchType="Pattern" pattern="(.*)\.js" ignoreCase="true" negate="true" />
                </conditions>
                <action type="Rewrite" url="web/index.php" />
            </rule>
            <rule name="Redirect to CSS">
                <match url="(.*)\.css" />
                <action type="Rewrite" url="{R:0}" />
            </rule>
    </rules>
</rewrite>
</system.webServer>

...