2016-11-04 151 views
0

我的主域是subdomain.domain.tld,我想重写从subdomain1.domain.tld到第一个的所有流量。意思是说如果某人访问subdomain1.domain.tld/whatever.php,他实际上访问subdomain.domain.tld/whatever.php,但是,他仍然在浏览器的导航栏中显示subdomain1使用.htaccess重写子域

我做了一些研究,但我找不到太有希望的东西。

回答

0

你不需要重写本,其实内部重写不是单独的主机之间可能的...

假设两个“子域”(那些实际上是主机名)是由相同的http服务器你提供服务可以简单地为两台主机配置相同的DocumentRoot。这样他们就提供完全相同的文件系统,这显然意味着将调用相同的脚本。

如果您只是使用虚拟主机的ServerAlias命令,那么您可能更容易脱身。这显然是唯一可能的,如果你不需要两个主机单独的配置。

只要看看apache http服务器的文档。这说明,并提供了很好的例子: https://httpd.apache.org/docs/2.4/vhosts/examples.html


如果这两个主机都的,你可以使用内部代理设置相同的HTTP服务器提供:subdomain1.domain.tld充当subdomain.domain.tld前端代理,所以它只是中继所有传入的请求和传出的响应。这是很容易与ProxyPass的组合和阿帕奇代理模块提供的ProxyPassReverse规则进行:https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse

这种设置甚至可以用,如果两个HTTP服务器上不同的IP地址,甚至完全独立的系统运行。

+0

完美的作品,谢谢! – John