我的主域名是subdomain.domain.tld
,我想重写从subdomain1.domain.tld
到第一个的所有流量。这意味着如果某人访问subdomain1.domain.tld/whatever.php
,他实际上会访问subdomain.domain.tld/whatever.php
,但是,他仍然会在浏览器的导航栏中显示subdomain1
。
我做了一些研究,但我找不到太有希望的东西。
答案 0 :(得分:0)
你不需要为此重写,事实上在不同的主机之间不可能进行内部重写......
假设两个“子域”(实际上是主机名)都由同一个http服务器提供服务,您可以为两个主机配置相同的DocumentRoot
。这样他们就可以提供完全相同的文件系统,这显然意味着将调用相同的脚本。
如果您只是为您的虚拟主机使用ServerAlias
命令,也许您可以更轻松地离开。如果您不需要两台主机的单独配置,这显然是可能的。
只需查看apache http服务器的文档即可。这是解释,并提供了很好的例子: https://httpd.apache.org/docs/2.4/vhosts/examples.html
如果这两台主机不由同一个http服务器提供服务,您可以使用内部代理设置:subdomain1.domain.tld
充当subdomain.domain.tld
的前端代理,因此它只是中继所有传入的请求以及传出的响应。这可以通过apaches代理模块提供的ProxyPass
和ProxyPassReverse
规则的组合轻松完成:https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse
如果两个http服务器在不同的IP地址或甚至完全独立的系统上运行,甚至可以使用此设置。