【问题标题】:How to create this type of subdomain on the fly like Blogger.com如何像 Blogger.com 一样即时创建这种类型的子域
【发布时间】:2011-07-10 03:06:29
【问题描述】:

前段时间我问了这个问题,有人告诉我必须在 DNS 等中输入条目。我不确定这一切是否真的需要。我正在寻找的功能类型如下面的屏幕截图所示:

如您所见,blogger 允许用户为其博客选择子域。我们怎样才能做到这一点?我基本上是在 asp.net C# 中开发的。拥有顶级域后,如何允许我的用户选择这样的子域。目前我正在本地主机上开发。

【问题讨论】:

    标签: c# asp.net subdomain blogger


    【解决方案1】:

    在 IIS 中使用通配符域,以便将每个请求捕获到顶级域及以下。

    asp.net中:创建一个HttpModule...这将为每个请求运行,您可以检查域名等并根据子域拉入用户信息。可以在URL Rewriting in ASP.NET via HttpModule 找到一个示例 httpmodule。

    asp.net mvc中:创建自定义RouteHandler(基于接口IRouteHandler自定义)。以RouteHandler vs ControllerFactory 问题为例。

    【讨论】:

    • 如何在 IIS 7.5 中添加通配符 DNS 映射?我指的文章是http://www.purpleant.com/Blogs/BrianSwanson/tabid/64/EntryId/144/Wildcard-sub-domain-for-Microsoft-IIS-and-DNS.aspx,但这是 IIS 6。我如何在 IIS 7.5 中做到这一点?
    • 也可以使用IIS UrlRewrite 2.0编写HttpModule来完成。您在 web.config 中设置 url 的格式,然后您可以通过查询字符串访问该值。
    • 遗憾的是,第一个链接似乎已失效,出现 404 错误。
    • 是的,链接似乎已失效。但不要害怕 - MS 也有这方面的信息:msdn.microsoft.com/en-us/library/bb398986.aspx
    【解决方案2】:

    您需要添加一个将*.example.com 映射到您的网络服务器的通配符 DNS 映射,以及一个告诉 IIS 将所有子域发送到您的 ASP.Net 网站的通配符主机名映射。

    然后您可以在服务器端代码中检查Request.Hostname 并使用适当的内容(或错误消息)

    【讨论】:

    • 如何在 IIS 7.5 中添加通配符 DNS 映射?我指的文章是http://www.purpleant.com/Blogs/BrianSwanson/tabid/64/EntryId/144/Wildcard-sub-domain-for-Microsoft-IIS-and-DNS.aspx,但这是 IIS 6。我如何在 IIS 7.5 中做到这一点?
    猜你喜欢
    • 1970-01-01
    • 2020-01-10
    • 2021-05-09
    • 2011-01-12
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多