IIS7 URL 重写

IIS7 URL 重写

我有如下网址:

http://www.domain.com/index.php?route=product/product&path=someString&product_id=1111111

我需要将所有到达 index.php 的请求重定向到此处:

http://www.domain.com/p/1111111/

我知道通过 .htaccess 的 apache 方法,但是如何在 IIS7 上做到这一点?

答案1

您应该能够使用 IIS 7 执行此操作URL 重写模块。

答案2

尝试以下规则(我假设它是一条入站规则):

<rewrite>
  <rules>
    <rule name="SFRule" stopProcessing="true">
      <match url="index\.php" />
      <action type="Redirect" 
              url="/p/{C:3}" 
              appendQueryString="false" 
              redirectType="Found" />
      <conditions>
        <add input="{QUERY_STRING}" 
             pattern="route=([_0-9a-z-\/]+)(?:&amp;|&amp;amp;)path=([A-Za-z]+)(?:&amp;|&amp;amp;)product_id=([0-9]+)" />
      </conditions>
    </rule>
  </rules>
</rewrite>

相关内容