在静态子目录上使用URLrewrite

时间:2010-12-11 07:47:58

标签: php iis mod-rewrite url-rewriting

我想将随机子目录重定向到我使用IIS的URLrewrite制作的处理程序脚本。我编写的这条规则适用于将子目录重定向到我的处理程序脚本,但是有一些真正的子目录(aka / wp-admin和/ contact)也被重定向到我的处理程序:

<rule name="Rewrite to article.aspx">
  <match url="^states/([a-z _]+)" />
  <action type="Rewrite" url="states.php?state={R:1}" />
</rule>

我如何确保/ wp-admin和/ contact实际上转到真正的子目录,但其他所有内容都使用URLrewrite进入我的cistom处理程序?

1 个答案:

答案 0 :(得分:0)

您可以将条件添加到规则中 - 使用IIS管理器中的URL重写模块来帮助构建它们。或者,添加先前规则并停止处理(如果为true)。以下是一些可以直接剪切/粘贴到web.config中的规则:

<rule name="pass wp-admin through" stopProcessing="true">
    <match url="^wp-admin/(.*)" />
    <action type="Rewrite" url="{R:0}" />
</rule>
<rule name="pass contact through" stopProcessing="true">
    <match url="^contact/(.*)" />
    <action type="Rewrite" url="{R:0}" />
</rule>
<!-- insert your other rules here-->