我正在使用一个Drupal站点,它是其他几个软件的中心枢纽。Drupal站点和其他软件都有自己的开发、测试和生产环境。这些环境中的每一个都有自己的url。
我想要做的是通过设置某种类型的变量/令牌来根据当前的环境更改这些urls。例如:
有超过几十个这样的外部链接软件片段,它们经常在内容中链接,但也有菜单项,块和一些视图。目前,我们必须做一个查找和替换,手动更改这些链接在一个时间。我试图找出是否有更好的方法,也许通过模板变量或令牌。有什么想法吗?理想情况下,这个解决方案不会存储在db中,但我是灵活的。
我在寻找关于最佳方法的建议。
发布于 2017-04-12 21:28:48
我不认为我会在德鲁帕尔尝试这么做。我将使用Apache/mod_rewrite设置一个小型代理服务器。您可以根据源url重写您的url。在Apache文档站点上有一些良好的入门信息。mod_proxy上也有足够的内容,但我认为mod_rewrite对您的用例来说已经足够了。
发布于 2017-04-13 00:10:34
充其量,您应该在每个环境中设置$base_url,并在任何地方使用相对链接。像病理学这样的模块在这里也会有所帮助。你最不想要的是使用那些保存到数据库中的域的链接--通过相对链接,你将是黄金。
您可以通过几种方法从settings.php确定环境,无论是ENV变量还是服务器IP。您还可以为每个站点提供一个文件夹,以利用多个settings.php文件。Drupal将使用它在Site/下找到的域文件夹。
您也可能对查看钩子_url_出站_更改感兴趣。
https://drupal.stackexchange.com/questions/233934
复制相似问题