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}&title={R:2}" />
</rule>
</rules>
</rewrite>
Для IIS, если установлен модуль ISAPI_Rewrite, устанавливается $_SERVER["IIS_UrlRewriteModule"] и содержит номер версии модуля. Таким образом, вы можете проверить существование этой серверной переменной.