2011-01-31 58 views
1

我想用web.config和IIS的urlrewrite所有请求重写到某个目录的根目录,例如:使用urlrewrite重写所有的请求到根

来源:

mydomain.com/directory/test.php 

要:

mydomain.com/test.php 

来源:

mydomain.com/directory/test/test.php 

要:

mydomain.com/test/test.php 

所有参数等应传递为好。任何想法如何使用web.config来做到这一点?

回答

0

我有这样的要求,而背部和发现这一点:

Using Url rewrite to "delete" a folder

有没有在这是由海报后来修正规则的小错误。下面是与校正应该链接干涸(我也使它成为你的要求更通用的一个位)副本:

<rewrite> 
    <rules> 
    <rule name="RemoveDirectory" stopProcessing="true"> 
     <match url="^directory$|^directory/(.*)$" /> 
     <conditions> 
     </conditions> 
     <action type="Redirect" url="{R:1}" /> 
    </rule> 
    <rule name="RewriteToFile"> 
     <match url="^(?!directory/)(.*)" /> 
     <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="directory/{R:1}" /> 
    </rule> 
    </rules> 
</rewrite> 

只需用目录名搜索和替换directory

+0

我将其复制到我的web.config中,并更改了目录名称,但它似乎没有任何区别 - 我已经弄了一个小时左右,但找不到原因。 – MarathonStudios 2011-01-31 03:31:48

相关问题