4

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

客户购买一个域,然后从 20-30 个现成的模板中选择一个模板。

现在应用程序驻留在说www.mywebappblabla.com/usersites

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

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

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

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

应该是什么方法。会不会影响网站性能。

谢谢并恭祝安康

维平

4

2 回答 2

1

这种方法很好。显然很多人使用子域代替,但主机同样合适。

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

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

于 2012-12-23T03:55:55.423 回答
1

大多数网站对这类事情使用子域方法;例如,我的“网站”可能位于 joshuashanemartin.host.com,而您的“网站”可能位于 yourusername.host.com(Wordpress、Google 站点和其他网站都使用这种方法)。

基本上,您可以使用具有以下表的单个数据库:

  • 顾客
  • 网站
  • 页面

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

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

于 2012-12-22T18:37:26.697 回答