ISAPI PHP REWRITE

Друг заставляет меня придумать способ переписать его на своем сервере Windows. Он использует IIS 6, и Isapi - это единственное, что я могу найти. Я не знаком с ним и прочитал некоторую документацию, но не могу полностью обдумать это. Он хочет переписать эти URL-адреса, чтобы сделать их чистыми

www.domain.com/cat.php?CTGID=####

а также

www.domain.com/pp.php?ID=##

Как мне переписать эти два URL-адреса, чтобы сделать их чистыми в ISAPI. Я установил его на Windows Server и помещаю ли я эти правила в IISF.ini в папку на его веб-сайте или помещаю эти коды в основной файл IISF? Любая помощь будет принята с благодарностью!

2 ответа

Решение

Правила перезаписи находятся в файле web.config или в ApplicationHost.config. Как описано в http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/

Примеры

<rewrite>
<rules>

    <rule name="Force WWW" stopProcessing="true"> 
        <match url=".*" /> 
        <conditions> 
            <add input="{HTTP_HOST}" pattern="^example.com$" /> 
        </conditions> 
        <action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" /> 
    </rule> 

    <rule name="Redirect from blog">
      <match url="^blog/([_0-9a-z-]+)/([0-9]+)" />
      <action type="Redirect" url="article/{R:2}/{R:1}" redirectType="Found" />
    </rule>

    <rule name="Rewrite to article.aspx">
      <match url="^article/([0-9]+)/([_0-9a-z-]+)" />
      <action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" />
    </rule>

</rules>
</rewrite>

Для IIS, если установлен модуль ISAPI_Rewrite, устанавливается $_SERVER["IIS_UrlRewriteModule"] и содержит номер версии модуля. Таким образом, вы можете проверить существование этой серверной переменной.

Другие вопросы по тегам