Альтернативный способ перезаписи URL-адресов, чем графический интерфейс перезаписи URL-адреса в IIS 7? - PullRequest
0 голосов
/ 16 августа 2011

Есть ли способ сделать это, без пользовательского интерфейса? Я имею в виду не пользовательский интерфейс, что-то вроде файла конфигурации, размещенного на моем веб-сайте, или какую-то альтернативу?

Большое спасибо!

1 Ответ

1 голос
/ 17 августа 2011

ДА, абсолютно.

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

Вот пример такого файла web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Redirect to https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="SeeOther" />
                </rule>
                <rule name="CatchAll" enabled="false" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/catchall.php?page={REQUEST_URI}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
...