【问题标题】:IIS URL Rewrite rule - Default document for subdirectoriesIIS URL 重写规则 - 子目录的默认文档
【发布时间】:2011-03-03 21:02:05
【问题描述】:

我想创建 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

目录 en、hr、de 并不真正存在于 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 并为特定站点上使用的每种语言添加重写规则的解决方案。

谢谢!

【问题讨论】:

    标签: asp.net iis-7 url-rewriting url-rewrite-module


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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 2014-05-01
      • 2023-03-07
      相关资源
      最近更新 更多