.NET Url重写根URL

时间:2011-04-05 11:02:00

标签: iis-7 url-rewriting

我在IIS7中有以下规则:

    <rule name="RewriteAll" stopProcessing="true">
      <match url="^([^/]+)/?$" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{URL}" negate="true" pattern="\.axd$" />
        <add input="{URL}" negate="true" pattern="\.png$" />
        <add input="{URL}" negate="true" pattern="\.gif$" />
        <add input="{URL}" negate="true" pattern="\.jpg$" />
        <add input="{URL}" negate="true" pattern="\.css$" />
        <add input="{URL}" negate="true" pattern="\.js$" />
      </conditions>
      <action type="Rewrite" url="default.aspx?page={R:1}" />
    </rule>

抓住了http://mysite.com/contact/

这样的网址

我无法弄清楚使用规则来捕获http://mysite.com/并发送到例如home.aspx。任何人都可以帮助我匹配正则表达式

2 个答案:

答案 0 :(得分:15)

我通过添加以下规则来修复它:

 <rule name="Index Request" enabled="true" stopProcessing="true">
     <match url="^$" />
     <action type="Rewrite" url="index.aspx" logRewrittenUrl="true" />
 </rule>

答案 1 :(得分:0)

为什么不在DNS服务器上设置规范名称(CName)以自动将http://domain.com重定向到http://www.domain.com

请参阅CName explanation on wikipedia