0

首先,我解释了当前的 Web 应用程序,然后我尝试解释我认为我希望它是怎样的......

目前我使用经典的 ASP,但将来我会转换为 .NET。这就是为什么我要更改当前配置的原因。我有一个网站,每个用户都有自己的子域。但它们使用相同的 asp 应用程序文件。

files.mydomain.com <--- 这是 .asp 文件所在的位置。

user1.mydomain.com .... user900.mydomain.com

(是的..很多子域!)

所有这些子域都包含展示 Web 应用程序所需的所有文件,以及一个 ID.inc 文件。但是,文件中没有代码,只有以下代码:

 -----
 <!--#Include file="id.inc"-->
 <!--#Include file="../../mydomain.com/public_html/file1.asp"-->
 -----  

除了 ID 文件,它只是一个 ID。
user1 的 id 文件有以下代码:“accountID = 1”

除了所有的 asp 文件外,子域还有一个文件夹,其中包含用户上传的所有文件和图像。带有 2 个包含行的 asp 文件由 asp 创建。

一切正常,当“files.mydomain.com”中的文件更新时,所有站点都会更新。

除了大量的子域,这个解决方案有什么不好的地方吗?

新的解决方案:

我想将整个 Web 应用程序更改为 .NET。

起初我计划使用与上述相同的方法。包括文件。但我不知道.net 如何处理包含文件?

第二个计划是使用通配符 DNS。并使用asp查找用户的ID。
但是如果用户在我的页面上将另一个域地址映射到他的帐户会发生什么?

例如。

  • 用户 1 购买了一个域名 (www.user1.com) 并将其指向他在我网站上的子域,
  • user1.mydomain.com(不是重定向)
  • 使用通配符时,当他使用的实际 URL 是 www.user1.com 或者代码只看到“www.user1.com”时,我是否能够从子域中获取 ID?

我无法注册我的用户使用的所有域..

第三种选择是 url 重写。
这对我来说真的很新鲜。

是否可以同时重写子域和“文件夹”?
假设我有 1000 个用户,所有这些用户都有几个类别、子类别和所有类别下的页面。

所以 URL 看起来像:

user1.mydomain.com/{virtual-categories}/{virtual-pageadress}.aspx

指向类似的东西:

mydomain.com/page.aspx?categoryID=##&pageID=##

假设每个用户有大约 100 次 url 重写。
100 x 1000 = 100000 url 重写......这可能吗?
当它增加到 1000 万时会发生什么?在一个简单的 web.config 文件中。
巨大的重写文件会使网页变慢吗?

这就是为什么我仍然对使用物理子域有一些想法。
但是是否可以在每个子域中创建单独的 url 重写,但它们都使用相同的 .net 文件?

实际上,我不知道该选择哪条路。请帮我。

简短版本:
我有几百个子域,很快可能会达到上千个。
所有这些都需要单独的 url 重写。

我如何在 asp.net 中进行此操作?

非常感谢!

4

1 回答 1

1

您可以使用 URLRewrite 模块从路径、查询字符串和/或标题中读取信息,然后更改 URL 或将信息插入 .ASPX 文件的标题中以供使用,所以我认为您是在正确的轨道上。这里有一些链接可以帮助您开始使用 URLRewrite:

http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/ http://forums.iis.net/1152.aspx

于 2011-08-15T22:56:31.090 回答