将特定页面重定向到iis web.config中的另一个特定页面

时间:2012-05-14 01:38:39

标签: redirect web-config

我们已经将我们的网站从一个php apache网站移动到一个asp.net mvc网站,我正试图让特定的重定向工作但是卡住了。

基本上我希望将http://www.mysite.com/index.php?pr=about_us的任何请求重定向到http://www.mysite.com/About-Us

我试过这个,但它不起作用。有什么想法吗?

<rewrite>
  <rules>
    <rule name="About Us" stopProcessing="true">
      <match url="index.php?pr=About_Us" ignoreCase="false" />
      <action type="Redirect" redirectType="Permanent" url="http://www.mysite.com/About-Us" />
    </rule>
  </rules>
</rewrite>

我也试过了,但它也没有用。

<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Permanent">
    <add wildcard="index.php?pr=About_Us" destination="/About-Us" />
</httpRedirect>

我需要在各种页面中实现十几个这些特定的重定向。

非常感谢任何帮助! 感谢

1 个答案:

答案 0 :(得分:2)

试试这个:

<rule name="About Us" stopProcessing="true">
    <match url="^(.*)$">
        <conditions>
            <add input="{URL}" pattern="index.php?pr=About_Us" />
        </conditions>
    </match>
    <action type="Redirect" redirectType="Permanent" url="http://www.mysite.com/About-Us" />
</rule>

修改

这是条件的另一种可能性:

<conditions logicalGrouping="MatchAll">
    <add input="{QUERY_STRING}" pattern="?pr=About_Us" />
    <add input="{REQUEST_FILENAME}" pattern="index.php" />
</conditions>

编辑 - 工作解决方案

<rule name="About Us" stopProcessing="true">
  <match url="^(.*)$" />
    <conditions logicalGrouping="MatchAll">
      <add input="{QUERY_STRING}" pattern="/?pr=About_Us$" />
      <add input="{REQUEST_FILENAME}" pattern="index.php" />
    </conditions>
    <action type="Redirect" redirectType="Permanent" url="http://www.mysite.com/About-Us" />
</rule>