重定向规则使用web.config

时间:2012-06-29 08:33:16

标签: asp.net redirect web-config

我想重定向

http://www.mydomain.com/rakhi-blog/index.php/2012/06/20/my-article/http://www.mydomain.com/rakhi-blog/2012/06/20/my-article/

为此,我使用以下代码:

   <configuration>
      <system.webServer>
        <defaultDocument>
          <files>
            <remove value="index.php" />
            <add value="index.php" />
          </files>
        </defaultDocument>
        <rewrite>
          <rules>
            <rule name="Main Rule" stopProcessing="true">
              <match url="(.*)" ignoreCase="true" />
              <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
              </conditions>
              <action type="Rewrite" url="index.php/{R:0}" />
            </rule>
            <rule name="Rewrite Index">
              <match url="^index.php/*" />
              <action type="Redirect" url="/rakhi-blog/{R:1}" />
            </rule>       
          </rules>
        </rewrite>
      </system.webServer>
    </configuration>

但是本规范不起作用。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:2)

尝试:

    <rewrite>
      <rules>
        <rule name="Rewrite Index">
          <match url="^rakhi-blog/index.php/(.+)$" />
          <action type="Redirect" url="/rakhi-blog/{R:1}" />
        </rule>       
      </rules>
    </rewrite>

答案 1 :(得分:0)

过去,我使用文章“Using Failed Request Tracing to Trace Rewrite Rules”中的说明来查找和解决此类问题。

基本上,您打开跟踪并查看IIS实际重定向(或不重定向)的内容和原因。然后,您可以看到您的期望是否与实际结果相符。