Apache 如何引用开发服务器上的子域,这些子域在生产服务器上也能正确解析?

Apache 如何引用开发服务器上的子域,这些子域在生产服务器上也能正确解析?,apache,subdomain,production,dev-to-production,Apache,Subdomain,Production,Dev To Production,我在dev.example.com上有一个LAMP开发服务器。最终,这将被复制到类似www.example.com的地方,在那里我们将拥有根访问权限 我想让系统管理员设置一些子域(例如subdomain1.example.com),这样它们就可以在开发服务器和生产服务器上工作,而不必重写对这些子域的引用 是否可以在开发服务器和生产服务器上配置Apache,以便我的代码可以引用subdomain1.localhost之类的内容?还有别的方法吗 (服务器将运行最新版本的CentOS和AMP堆栈。)再

我在dev.example.com上有一个LAMP开发服务器。最终,这将被复制到类似www.example.com的地方,在那里我们将拥有根访问权限

我想让系统管理员设置一些子域(例如subdomain1.example.com),这样它们就可以在开发服务器和生产服务器上工作,而不必重写对这些子域的引用

是否可以在开发服务器和生产服务器上配置Apache,以便我的代码可以引用subdomain1.localhost之类的内容?还有别的方法吗


(服务器将运行最新版本的CentOS和AMP堆栈。)

再次阅读您的问题,我认为您希望代码始终返回subdomain1.localhost,并且希望apache以某种方式将其更改为生产服务器上的subdomain1.example.com

您可以使用ProxyPassReverse实现这一点,但如果子域1位于同一台机器上,则可能需要运行两个Apache副本。(我不知道Apache是否能在这里应对与自己的对话)。这是一个昂贵的解决方案

相反,我建议您对代码进行参数化。
在rails堆栈上,使用capistrano推荐的production.rb cp是实现这一点的最简单方法,您可能需要研究部署PHP代码的类似方法。

我终于在CDN模块中找到了答案。顾名思义,这是为了与内容交付网络一起使用,但实际上它所做的只是基于规则重新编写Drupal输出的URL。我用它来重新编写URL,以便可以从唯一的主机名提供不同的文件类型(同样是为了最大限度地并行下载)。

如果我理解正确,您很乐意返回不同的答案(subdomain1.LOCALHOST vs subdomain1.example..com),也就是说,您很乐意更改/参数化您的代码。感谢您的回复。通过参数化代码,我假定您的意思是根据子域引用所在的服务器动态生成它。对吗?如果是这样的话,我想那可能行得通。然而,上下文是内容管理员(非开发人员)需要将一些子域引用输入CMS(Drupal)。最好不要教他们输入PHP,你不能有到不同子域的相对URL。需要翻译它们或在输出之间切换。也许开发人员站点上有一个自定义输入过滤器,可以将“实时”URL转换为开发人员URL?