我有两个域(siteA.com和SiteB.com),指向同一个networking服务器,我想为每个显示不同的网页。
我迄今采取的步骤是:
将默认站点(siteA)复制到站点B.
1) sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/siteB 2) sudo vim /etc/apache2/sites-available/siteB
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/siteB <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/siteB> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Indexes Order allow,deny allow from all </Directory> </VirtualHost *:80>
然后我在/ var / www / siteB下创build了一个样例index.html。
但是,当我加载我的域名siteB.com我仍然被定向到/var/www/siteA 。 这是为什么?
我还必须将/etc/apache2/sites-available/default重命名为/etc/apache2/sites-available/siteA吗?
更新:
感谢下面的答案,似乎我已经忘记旁边启用该网站还另一个条目:
<VirtualHost *:80> ServerAdmin [email protected] ServerName siteB.com ServerAlias www.siteB.com </VirtualHost *:80>
为了包括所有的子域名,那么做:
<VirtualHost *:80> ServerAdmin [email protected] ServerName siteB.com ServerAlias *.siteB.com </VirtualHost *:80>
siteA也一样。
您是否使用命令a2ensite siteB启用siteB ,然后重新启动networking服务器?
我一直在虚拟主机的问题挣扎几天…也许相关:这是我有:
<VirtualHost *:80> ServerName www.domain1.com ServerAlias domain1.com Include /etc/apache2/vhosts.d/domain1.include <IfModule mpm_peruser_module> ServerEnvironment apache apache </IfModule> </VirtualHost> <VirtualHost domain2:80> ServerAlias domain2.com ServerName www.domain2.com Include /etc/apache2/vhosts.d/domain2.include <IfModule mpm_peruser_module> ServerEnvironment apache apache </IfModule> </VirtualHost>
domain1正在发送domain2s内容!
最后我改变了
<VirtualHost domain2:80>
至
<VirtualHost *:80>
它的工作。
“IP”的虚拟主机设置运行在domain2,它具有与domain1相同的IP,甚至从来没有看我的第一个VirtualHost条目
标签需要与IP [和端口]相同,才能查看ServerName和ServerAlias
希望这有助于某人。