代码之家  ›  专栏  ›  技术社区  ›  Rich Bradshaw

当从不同的域访问时,一个看起来不同的PHP应用程序

  •  1
  • Rich Bradshaw  · 技术社区  · 14 年前

    目前,我们将CMS安装在一个单独的文件夹中,每个客户都有一个唯一的用户,然后将他们的域指向该文件夹。

    这方面的难点在于反向移植重要的更改,例如异步新的google分析代码,或者我们改进的防止评论垃圾邮件的方法。

    1: 我们生产的每个站点使用相同的后端代码是否明智?

    2: 假设是,最好的方法是什么?我想检查$_SERVER['SERVER_NAME']以确定要使用哪个模板、数据库连接等。

    有没有人有过这样的经历?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Marc B    14 年前

    如果它们都托管在同一个物理服务器上 $_SERVER['HTTP_HOST'] SERVER_NAME 是服务器本身的物理名称(由Apache的 ServerName 指令)。

    如果多个站点之间没有太大的差异,那么在同一个代码库上托管多个站点是没有问题的。如果这只是一个品牌的问题,改变一些文字/图形在这里和那里,没有什么大不了的。但是,如果您正在做根本不同的站点,那么您的代码将成为一个无法维护的混乱“如果servername是X,那么就做其他事情”。

        2
  •  0
  •   Siva.K    14 年前

    我尝试过这样的方式,有一个主要的CMS推出了多个网站,并在它上线前离开了它。我们遇到的问题是更新和更改。任何一种定制都是不需要额外工作的。要添加表单域吗?为心痛做好准备。最后,我们做了您现在所做的,多个安装,但有几个主要的脚本,它们都共享其中调用脚本传递哪个站点正在请求什么,如表单邮件和安全检查。

    对于我们所知道的所有页面的大规模更新,或者跨多个页面的更新,我们要么编写一个更新脚本,在文件中搜索和替换,要么在BBedit中执行。