在一个Web应用程序上具有多个域的IIS

时间:2012-12-22 10:54:45

标签: .net iis

我正在使用asp.net 在 IIS上构建 Web应用程序。这个概念如下。

客户购买域名,然后从20-30个准备好的模板中选择一个模板。

现在,应用程序位于www.mywebappblabla.com/usersites

用户域www.myowndomain.com指向www.mywebappblabla.com/usersites,然后我们从数据库中跟踪网址,然后网站与用户的预定义模板一起显示。

因此,如果有其他用户使用域www.myotherdomain.com,它将再次指向www.mywebappblabla.com/usersites,然后根据数据库中存储的数据向他显示不同的模板和不同的页面内容。

我的问题是这个系统可能会被3000-5000个用户使用。这是正确的approch吗?或者我们应该为每个站点创建一个单独的文件夹并单独使用Db?

我们希望在很短的时间内配置系统。例如。用户发送带有内容的word文件和要使用的模板。我们应该能够在2-3小时内使网站生效。

approch应该是什么。它会影响网站性能吗?

谢谢和问候

VIpin

2 个答案:

答案 0 :(得分:1)

大多数网站都使用子域方法来处理这种事情;例如,我的“网站”可能位于joshuashanemartin.host.com,而您的“网站”可能位于yourusername.host.com(Wordpress,Google协作平台,其他人都使用此方法)。

基本上,您可以使用包含以下表格的单个数据库:

  • 客户
  • 位点

一个客户可以拥有多个网站,每个网站都有多个网页。您可以在站点中甚至在页面中定义模板。每个“页面”对象都有一个“内容”属性,它可以是HTML或某种标记语言(就像我写回答时StackOverflow使用的那样)。

您是否采用子域方法(如customername.host.com)或您的方法(如www.host.com/usersites/customername)由您决定。最后,您只需从单个数据库加载不同的内容,并使用URL来确定您要加载的数据。

答案 1 :(得分:0)

这种方法很好。显然很多人使用子域,但主机也是合适的。

您需要在IIS中设置绑定,以允许该站点的端口80/443上的所有请求*。而且你显然希望存储他们的域并根据域将它们路由到正确的模板。您也可以对其进行设置,以便未注册的域名获得您网站的友好版本或友好的错误消息。

就技术帮助而言,实施它时更具体的问题将产生更好的结果。如果您不熟悉asp.net,则应该查看HttpContext。这将让您检查请求的域。这应该给你一个开始。