【发布时间】:2012-02-20 20:09:12
【问题描述】:
背景:我们让网站用户能够创建筹款页面。
技术:asp.net 3.5(网络表单)、Sitecore CMS 6.4、IIS 7
ISSUE:我正在尝试确定哪种 url 方案对用户最方便,从代码的角度来看哪种更易于维护。
想法 #1:创建一个子域 -fundraising.mysite.com/johnspage
想法 #2:使用主域 - www.mysite.com/johnspage
以下是关于是否使用子域的一些想法。
想法:
我们使用的是 Sitecore CMS 6.4,因此如果我们使用子域,我们将不会创建单独的网站。子域将简单地指向主域。
如果我们使用子域或不使用子域,我计划有一个处理程序将每个筹款页面请求重定向到一个实际页面,该页面查找用户筹款信息并显示它。 (处理程序将注入一个 cookie 或查询字符串)。 如果我们使用子域,我们的处理程序会更容易知道请求是针对筹款页面的。
如果我们使用子域,我希望我们的处理程序重定向到我们的实际站点。这将避免域和子域之间的 cookie 问题。 (当然可以克服 cookie 问题,但我想避免它们开箱即用)。因此,如果请求是fundraising.mysite.com/johnspage,则处理程序会将其转换为www.mysite.com/actualpage?parameters...(或者可能使用cookie)
使用子域,我们可以避免用户创建与现有“真实”页面同名的页面的问题。我们正在使用 Sitecore CMS,因此 Sitecore 中实际上并不存在页面,但我们不希望用户筹款页面解析为 sitecore 项目。 (如果您不熟悉站点核心,您可以考虑尝试避免用户筹款页面与您现有页面之一同名的问题,使用子域使这个问题更容易管理。我想你也可以在没有子域的情况下执行此操作,只需将处理程序逻辑放在 http 请求管道的早期)。
当用户去分享他们的页面时,www.mysite.com/johnspage 可能更容易让用户记住。他们可以简单地说去 mysite.com/johnspage 而不是 fundraising.mysite.com/johnspage。子域使 url 与主站点不同,并且发音时间更长。当然,用户可以剪切和粘贴我们给他们的任何网址,但如果他们口头分享网址,那么拥有子域可能会很不方便。
问题:您会使用子域还是指向主域,还是我没有想到的另一种方法?您还有什么想法可以提供吗?
【问题讨论】: