多次重写网址?带有网址的多个表格

时间:2011-08-15 22:22:48

标签: asp.net url rewrite

(我之前曾问过类似的问题,但这是一个更具体的问题,这就是为什么我开始一个新线程。)

我正处于一个asp.net项目的开头,我可能会使用url重写器。 (第一次)

我有几个用户拥有单独的子域名。在每个子域名中,每个用户都有各自的类别,子类别和页面。例如,用户网页可能如下所示:

user1.mydomain.com/category1/sub1/page1
user1.mydomain.com/category1/sub2/page45
user1.mydomain.com/category1/page123
user1.mydomain.com/category2/sub56/page134

如您所知,这些分类和页面是动态的,我想使用url重写。 但是由于用户数量很大,我不想要一个巨大的urlrewrites列表。

所以我的问题是。

是否可以多次重写URL? 首先,Web应用程序检查子域,它为wep页面提供了一些ID。

user1.mydomain.com/category1/page1.aspx -> users.mydomain.com/category1/page1.aspx?accountID=1

然后取决于,在这种情况下,accountID检查正确的“url重写查找表”

类似的东西:

account1_url_list
account2_url_list
...

为“pretty-url”的其余部分获取正确的网址,在本例中为“/ category1”

我猜web.config文件无法处理这么多的url-rewrites?

另外一个问题。

当其中一个用户将自己的域指向我的网页应用程序页面时,urlrewrite会发生什么? 因此,Internet Explorer中的地址栏或firefox就像:

www.user.com points at user1.mydomain.com

我能够获得该用户的正确ID吗?

谢谢! 磨砂


感谢您的回复。 不幸的是,我认为我无法在IIS上运行网址重写。只有某种o .net重写者喜欢 www.urlrewriting.net

我有一个问题,有人将自己的域名指向我的网络应用程序。 是否可以使用“user1。”,“user2”子域名来匹配用户到他的帐户,或者我还必须在此过程中使用他的域名来查找他的帐户ID?

Lets say user1 owns a domainname. www.user1domain.com
he points that domain to user1.mydomain.com
so the visible url is www.user1domain.com.

会发生什么?

是否有一些命令可以找到他的域所指向的子域名?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,URL重写器支持多个处理步骤,正如Eok在他的博客文章中讨论的有关处理链和继续或停止处理的步骤:http://blogs.iis.net/eokim/archive/2008/06/05/url-rewrite-module-basic-understanding-lt-rule-gt.aspx

web.config可以处理非常大的数量或重写规则(我实际上并不知道有多少,但测试可能会很有趣!)。

如果您有超过十几条规则,那么您可能会遇到可以重构和简化的问题。