2014-10-22 2 views
2

У меня нет хороших знаний о IIS, и мне нужно преобразовать следующий файл htaccess в файл web.config, чтобы включить переписывание URL-адресов в IIS.Преобразование файла Apache mod_rewrite в URL-адрес IIS Rewrite

RewriteEngine On 
RewriteRule ^index.html$ index.php [L] 
RewriteRule ^/?([0-9a-zA-Z_-]+)/?$ rewrite.php?param1=$1 [L] 
RewriteRule ^/?([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/?$ rewrite.php?param1=$1&param2=$2 [L] 
RewriteRule ^/?([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([^/]+)/?$ rewrite.php?param1=$1&param2=$2&param3=$3 [L] 

Благодаря

ответ

0

Ваши правила могут быть преобразованы в IIS URL Rewrite Module правила следующим образом:

<rewrite> 
    <rules> 
    <rule name="Imported Rule 1" stopProcessing="true"> 
     <match url="^index.html$" ignoreCase="false" /> 
     <action type="Rewrite" url="index.php" /> 
    </rule> 
    <rule name="Imported Rule 2" stopProcessing="true"> 
     <match url="^([0-9a-zA-Z_-]+)/?$" ignoreCase="false" /> 
     <action type="Rewrite" url="rewrite.php?param1={R:1}" appendQueryString="false" /> 
    </rule> 
    <rule name="Imported Rule 3" stopProcessing="true"> 
     <match url="^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/?$" ignoreCase="false" /> 
     <action type="Rewrite" url="rewrite.php?param1={R:1}&amp;param2={R:2}" appendQueryString="false" /> 
    </rule> 
    <rule name="Imported Rule 4" stopProcessing="true"> 
     <match url="^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([^/]+)/?$" ignoreCase="false" /> 
     <action type="Rewrite" url="rewrite.php?param1={R:1}&amp;param2={R:2}&amp;param3={R:3}" appendQueryString="false" /> 
    </rule> 
    </rules> 
</rewrite> 

См this answer для дальнейшего использования.

+0

@WebJo: Если бы мой ответ был полезен, вы могли бы принять и/или усовершенствовать его? Прошло более года, и эта нить кажется заброшенной/бесполезной для дальнейших читателей, если вы не дадите какую-то обратную связь. –

Смежные вопросы