1

一个朋友让我想办法在他的 Windows 服务器上进行 modrewrite。他正在运行 IIS 6,而 Isapi 是我能找到的唯一东西。我不熟悉它并阅读了一些文档,但不能完全理解它。他想重写这些 URL 以使它们干净

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

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

我将如何重写这两个 URL 以使它们在 ISAPI 中干净。我已经将它安装在 Windows Server 上,我是将这些规则放在他的网站文件夹中的 IISF.ini 中还是将这些代码放在主 IISF 文件中?任何帮助将不胜感激!

4

2 回答 2

0

重写规则位于 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>
于 2012-07-18T00:41:49.900 回答
-1

对于 IIS,如果安装了 ISAPI_Rewrite 模块,则设置 $_SERVER["IIS_UrlRewriteModule"] 并包含模块的版本号。因此,您可以检查此服务器变量是否存在。

于 2013-04-16T16:58:53.680 回答