如何在没有用户知道的情况下在Drupal中进行重大内容更改

时间:2011-04-20 19:30:24

标签: drupal drupal-6 rewrite

我为自己的公司运营了一个 drupal 6 网站,它就像我想要的那样。

只有我计划进行重大更新,我将更改主题和大部分页面。我想知道如何基本上改变所有页面,但只在我准备好时发布更改(如果可能的话)?

我考虑创建一个全新的Drupal网站,然后将其移动到我想要的目录,但之后我会丢失我的数据库中的所有其他内容(如订单)以及我无法进行的所有广泛设置!

我不希望维护“网站离线”,因为网站功能完善,我需要尽可能多的访客和宣传机会!

因此,如果有任何人知道我的情况的解决方案,那么如果你能告诉我的话会很有帮助!

先谢谢,

安迪

4 个答案:

答案 0 :(得分:3)

您可以将Drupal 6主题上传到/ sites / all / themes /,当您准备好部署它时,只需在设置中切换主题并刷新缓存即可。您的所有内容都应保持原样。

如果您在更新中对Drupal安装进行了重大更改,则维护模式可能是您的最佳选择。提供它是为了让用户知道正在进行升级并防止用户进行在上次备份和重新启动网站之间销毁的更改。

如果维护模式确实不起作用(并且您需要隐藏用户的信息),我会创建一个脚本,以便在启动时立即将所有订单和其他易失性数据复制到新网站。这是一个黑客,是的,但实际上没有其他选择。

答案 1 :(得分:0)

如果您使用的是相同的表,那么基本上可以将它们都放在一起,只需在不同的服务器上更改dns,或者将htaccess设置更改为指向同一服务器上的站点。

答案 2 :(得分:0)

您的网站是国际的吗?看看您的分析 - 您的网站是否有一天没有时间显着减少甚至接近零用户?在国际网站上这将更加困难,但是看看你的统计数据,看看你是否可以在执行此更新时出现常规下滑。

我会在现有的旁边创建新网站,并在准备好更新dns时,或者将虚拟主机指向新文件夹,然后将订单表(以及您需要的任何其他内容)复制到新数据库@jmkeyes建议。

答案 3 :(得分:0)

我解释您的问题的方式是,您希望保留现有网站的数据,并在迁移到修改后的网站时拥有一小部分停机时间。

首先确保您的站点使用文档根目录下的drupal子目录(而不是直接在文档根目录中安装Drupal)。这将允许您在网站之间切换,而无需用户知道任何事情。 这需要基目录中的以下.htaccess文件:

RewriteEngine on
RewriteRule ^(.*) drupal6/$1 [L]

请注意,drupal6需要替换为您选择安装各种D6安装的目录名称。 它还要求sites/default/settings.php定义变量$ base_url。 如果您的settings.php文件在其他地方定义,则在该位置修改它。

我建议你备份现有网站上的数据并在新网站上使用它(它应该兼容我希望)。如果不是,您可能需要具有相同的模块和主题集,但根据需要禁用不需要的模块/主题。 使用现有的站点数据,您可以根据需要重新构建开发站点。

当您准备好使用修改后的网站时,请执行以下操作:

  • 使现有网站脱机并执行数据备份。
  • 使用备份,将数据恢复到新网站。
  • 测试新网站是否仍在运行。
  • 将基本.htaccess文件更改为指向新网站。

这应该会使您的停机时间非常短(特别是如果您在切换之前使用现有站点数据测试了新站点)。在升级到新版本的Drupal核心(例如D7)时,它还将为您提供未来的灵活性。