2010-06-15 106 views
0

我想创建URL重写规则,它将为我的虚拟文件夹设置默认文档。例如。成才这样IIS URL重写规则 - 子目录的默认文档

www.domain.com/en/ -> www.domain.com/en/index.aspx 
www.domain.com/hr/ -> www.domain.com/hr/index.aspx 
www.domain.com/de/ -> www.domain.com/de/index.aspx 

目录连接,小时,日并没有真正存在Web服务器上,他们是由家庭中使用的网站上使用的语只是标记成长HTTP模块,将改写带有查询参数的路径。

快速的解决办法是定义规则为每一个郎,是这样的:

<rewrite> 
    <rewriteMaps> 
     <rewriteMap name="Langs"> 
      <add key="/en" value="/en/index.aspx" /> 
      <add key="/hr" value="/hr/index.aspx" /> 
      <add key="/de" value="/de/index.aspx" /> 
     </rewriteMap> 
    </rewriteMaps> 
<rules> 

但我真的想解决方案,不需要在web.config中和在特定使用的每一个变化的语添加重写规则现场。

谢谢!

回答

2
<rule name="Lang-Redirect"> 
    <match url="^(\w{2})\/?$" /> 
    <action type="Rewrite" url="{R:1}/index.aspx" /> 
</rule> 

这应该允许您从请求中捕获语言标记并将其重写到您的自定义http处理程序。

+0

哇,这么快,而且效果很棒:) tnx! – 2010-06-15 09:19:17