【发布时间】:2015-07-09 21:12:15
【问题描述】:
我正在构建一个 ASP.NET CMS 驱动的 Web 应用程序,它将为不同域名下的多个网站提供服务。其中一些将使用 www 子域,其他将使用自定义子域。会有各种顶级国家域名。
我正在寻找一个通用的 IIS URL 重写规则,它将任何未指定子域的 URL 重定向到其 www 等效项。
当我说通用时,这意味着该规则不能对域名或顶级国家域进行硬编码。所以规则必须重定向 http://anything.anywhere/any-path 到 http://www.anything.anywhere/any-path 但离开 http://sub.anything.anywhere/any-path。
我找到的最接近的是this,它仍然对 TLCD 进行硬编码。如果对 URL 重写的语法没有太多了解,我不确定如何处理任何 TLCD。
提前致谢。
更新:
受评论的启发,我尝试了正则表达式,但还没有找到不需要我对所有可能的 TLCD 列表进行硬编码的方法。我怀疑这是我能得到的最好的。任何人都可以改进或确认这是答案吗?
^([a-z]+[.](com|co.uk|de|fr|etc)+)*
【问题讨论】:
-
URL 重写只使用常规的 .NET 正则表达式(我相信!),所以得到一些与之相关的东西,它应该会奏效。建议使用 regexlib.com 进行测试。
-
谢谢@ianbailey,我第一次尝试更新了我的问题,但正则表达式也不是我的强项!
-
我也是,否则我会留下答案哈哈 :)
标签: asp.net iis seo url-rewrite-module