如何在不更改URL的情况下显示其他域中的内容

时间:2014-10-26 14:08:52

标签: php .htaccess

我有一个主域 mydomain.com 和一个子域 sub.mydomain.com

如何在主域中显示子域中的内容?我有所有文件位于主域的文件夹中。每当用户点击地址栏中的sub.mydomain.com时,都应显示主域的内容。不应更改网址。我的意思是它不应该重定向到主域。

谢谢。

1 个答案:

答案 0 :(得分:1)

首先我要说的是,如果您的网站上有重复的内容,搜索引擎可能会因此而惩罚您。不应通过example.com和sub.example.com提供内容。

也就是说,如果mydomain.com和sub.mydomain.com驻留在同一台服务器上,最简单的方法是将子域配置为使用与普通域相同的www-root。您可以在主配置文件中使用以下内容:

Listen 80

NameVirtualHost *:80
<VirtualHost *:80>
  DocumentRoot /www/example1
  ServerName example.com
  DocumentRoot /www/
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /www/example2
  ServerName sub.example.com
  DocumentRoot /www/
</VirtualHost>

如果主域位于与子域指向的服务器不同的服务器上,则可以代理请求。您可以在主配置文件中找到相应内容:

<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyPass / http://example.com
  ProxyPassReverse / http://example.com
  ServerName sub.example.com
</VirtualHost>

有关vhost配置的更多示例,请参阅this resource