2012-06-29 44 views
1

我想重定向重定向規則使用的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> 

但是這個代碼不工作。任何人都可以幫我。

+0

我得到一個HTTP錯誤500.19當我實現了 – serlingpa

回答

0

在過去,我使用文章「Using Failed Request Tracing to Trace Rewrite Rules」中的說明來查找和解決此類問題。

基本上,您打開跟蹤並查看IIS實際重定向(或不重定向)的內容和原因。然後你可以看到你的期望是否符合實際結果。

2

嘗試:

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