具有相同端口的不同虚拟主机

Posted

技术标签:

【中文标题】具有相同端口的不同虚拟主机【英文标题】:Different VirtualHosts with the same port 【发布时间】:2011-08-29 12:27:37 【问题描述】:

对于不同的项目和不同的日志,我需要两个具有相同侦听端口的虚拟主机。这是我得到的:

<VirtualHost *:80>
        DocumentRoot /home/projects/smk
        ErrorLog /var/log/apache2/smk-error.log
        RedirectMatch ^/$ /cms
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /home/projects/smk/cms
        ErrorLog /var/log/apache2/smk-cms-error.log
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /home/projects/smk/deploy
        ErrorLog /var/log/apache2/smk-deploy-error.log
</VirtualHost>

【问题讨论】:

【参考方案1】:

在所有虚拟主机中添加不同的 ServerName 指令:

<VirtualHost *:80>
        ServerName dev.localhost
        DocumentRoot /home/projects/smk/cms
        ErrorLog /var/log/apache2/smk-cms-error.log
</VirtualHost>

<VirtualHost *:80>
        ServerName my-project.localhost
        DocumentRoot /home/projects/smk/deploy
        ErrorLog /var/log/apache2/smk-deploy-error.log
</VirtualHost>

不要忘记在/etc/hosts127.0.0.1 中添加dev.localhostmy-project.localhost 的主机条目或您希望它指向的任何IP。

【讨论】:

只是添加,需要在httpd.conf文件中添加NameVirtualHost *:80。这是默认注释的(Apache/2.2.34 (Unix))【参考方案2】:

服务器名称 my-project.localhost DocumentRoot /home/projects/smk/deploy 错误日志 /var/log/apache2/smk-deploy-error.log

//尝试添加错误文档

错误文档 404 404.html

需要在您的应用程序中创建反馈。

【讨论】:

以上是关于具有相同端口的不同虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

共享主机触发具有相同域和端口的 CORS

Apache多端口多主机名配置

网络运维 虚拟主机与虚拟目录 实验报告

将不同主机的多个IP地址指向具有不同端口的同一域名

httpd服务配置与部署

如何更改 Genymotion 端口