在同一个Apache服务器上的多个域名

我正在testing本地系统上的configuration以了解Apacheconfiguration,并使用相同的方法来处理我的生产服务器。

我需要configuration两个example.comexample.org

我有PHP脚本在那里的目录:

/server/example.com for example.com /server/example.org for example.org

我在这两个目录上运行这个命令:

sudo chcon -R -h -t httpd_sys_content_t /server/example.*

example.com中的index.php包含

 <? $debug = ($_SERVER['HTTP_HOST'] == 'example.com'); if ($debug) echo "in example.com"; ?> 

example.org中的index.php包含

 <? $debug = ($_SERVER['HTTP_HOST'] == 'example.org'); if ($debug) echo "in example.org"; ?> 

我还在/etc/httpd/conf.d/example.conf下创build了一个名为example.conf的apache conf文件

以下是.conf文件的内容:

 <VirtualHost example.com:81> DocumentRoot /server/example.com ServerName example.com <Directory "/server/example.com"> AllowOverride None Options All Order allow,deny Allow from all DirectoryIndex index.php index.html index.htm </Directory> </VirtualHost> <VirtualHost example.org:82> DocumentRoot /server/example.org ServerName example.org <Directory "/server/example.org"> AllowOverride None Options All Order allow,deny Allow from all DirectoryIndex index.php index.html index.htm </Directory> </VirtualHost> 

当我访问example.com该网站的工作就像是经历了一样。 /server/example.com的脚本文件的计算结果为true,并显示in example.com

现在,当我访问example.org 。 该网站显示什么。

另外,这里是我修改的/etc/host

 127.0.0.1 example.com 127.0.0.1 example.org 

有人可以build议我在这里失踪?

你访问example.org:82 ,或只是example.org ? 目前,您的网站被绑定到不同的端口。 这可能不是你想要的; 您可能想要使用基于名称的虚拟主机。

你需要一个NameVirtualHost指令,并改变你的<VirtualHost>指令来匹配它。

像这样的东西:

 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /server/example.com ServerName example.com ServerAlias www.example.com # etc </VirtualHost> <VirtualHost *:80> DocumentRoot /server/example.org ServerName example.org ServerAlias www.example.org # etc </VirtualHost>