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


How to show content from other domain without changing the URL

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

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

谢谢。

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

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

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配置的更多示例,请参阅此资源。