【问题标题】:Using the URI to create customer specific look'n'feel使用 URI 创建客户特定的外观
【发布时间】:2011-04-11 10:52:13
【问题描述】:

有些客户想要定制我的产品品牌,同时让我继续管理和维护网站。我看到人们通过创建客户特定的 URI 来做到这一点,例如:

    <customer1>.WebSite.com
    <customer2>.WebSite.com
    <customer3>.WebSite.com
    ...

显然,每个 customerX 标识符都用于加载最符合客户要求的 CSS/HTML 组合。

这将如何在 ASP.NET 中完成?我应该注意什么严重的问题?如果客户严重依赖 JS 和 CSS hack,是否很难维持这样的产品?

【问题讨论】:

  • JS 和 CSS hack 是什么意思?

标签: c# asp.net html css customization


【解决方案1】:

根据登录使用的功能进行自定义通常比使用这样的域名结构要容易得多。

如果您确实希望走这条路,则需要在您的 DNS 提供商处设置通配符 DNS 映射,您还需要在自定义 httpmodule 或某些母版页中检查 Request 对象或基页面类,然后设置适当的 CSS 样式表。

如果您在网站上使用 HTTPS,您将面临更多问题。

【讨论】:

    【解决方案2】:

    你所说的 JS 和 CSS hack 是什么意思?您应该为每个客户站点加载不同的 CSS 表和 JS 文件。

    【讨论】:

    • 当然。但是,在不同站点的外观中仅抓取和使用客户的 CSS/JS 肯定存在问题
    • 是的,他们的 CSS 和 JS 可能会覆盖您输入的功能,或者可能会破坏某些东西,或者根本无法正常工作。这是一个更普遍的问题。您让客户自定义的次数越多,您的应用程序出错的地方就越多。
    【解决方案3】:

    我会使用的基本想法:

    • 要有一个包含默认样式/内容的主/模板“站点”。

    • 为每个客户设置一个站点,默认将其资源指向主站点。

    • 当客户想要对其进行自定义时,请将其复制到他们的站点。将客户网站中的引用更改为他们的资源副本。


    您必须注意的一件事是客户搞砸了他们的版本,并对文件进行了恶意更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      相关资源
      最近更新 更多