Назад | Перейти на главную страницу

Как мне преобразовать это правило mod_rewrite в IIS7 Url Rewrite

Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.html$ $1.php [L]

Это то, что я бы использовал в переписывании мод Apache, чтобы сделать index.html на самом деле index.php

Как я могу это сделать в IIS?

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="false" />
        <defaultDocument>
            <files>
                <clear />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="Default.aspx" />
                <add value="index.html" />
                <add value="index.php" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>

Это то, что у меня есть для моей текущей конфигурации. Заранее спасибо.

Если у вас есть доступ к консоли управления IIS7 на хосте или любом компьютере, на котором запущены IIS7 и UrlRewrite, вы можете автоматизировать преобразования.

Прежде всего, скопируйте свой mod_rewrite rules в файл и сохраните как что-то вроде mod_rw.htaccess.

Запустите консоль управления IIS7, перейдите на свой сайт. Запустите функцию UrlRewrite:

На правой панели действий выберите Правила импорта:

Нажмите кнопку с точками рядом с текстовым полем Configuration File, найдите и выберите mod_rw.htaccess:

Затем нажмите кнопку Импортировать кнопка:

После нажатия кнопки "Импорт" ваш mod_rewrite правила будут импортированы и преобразованы в формат правил IIS7 UrlRewrite 2.0.

Вы можете просмотреть необработанную конфигурацию XML, щелкнув вкладку XML View:

На этом этапе, если вы нажмете на Вернуться к правилам в правом меню панели действий, импортер спросит, хотите ли вы сохранить эти правила. Если это не намеченная целевая машина, просто скопируйте то, что находится на вкладке Xml View, и вставьте web.config принадлежащий целевому сайту.

И последнее замечание (и вы, возможно, уже знаете это), вы можете изменить порядок документов по умолчанию, чтобы index.php предпочтительнее index.html:

<defaultDocument>
    <files>
        <clear />
        <add value="index.php" /> <!-- <-- moved to top of list -->
        <add value="Default.htm" />
        <add value="Default.asp" />
        <add value="index.htm" />
        <add value="Default.aspx" />
        <add value="index.html" />
    </files>
</defaultDocument>