具有一个IP地址的Apache多个子域

这可能已经被问到,但我找不到直接的答案,或者我发现的不起作用。

我有一个mydomain.com ,parsing为IP; 我们称之为8.8.8.8。 DNS设置还将两个子域指向具有Alogging的IP地址。 这些是dev.mydomain.comstaging.mydomain.com 。 两者都有一个指向8.8.8.8的Alogging。

在服务器(8.8.8.8)上有两个虚拟主机文件。 这些如下:

staging.mydomain.com.conf

国防部重写子域到文件夹中断到CSS和图像的path

Nginx http到httpsredirect问题

使用Nginx将子域映射到URL

.htaccess重写子目录到目录

如何configurationNginx通过subdomain.domain.tld:80使ssh服务器可用

<VirtualHost *:80> ServerName staging.mydomain.com DocumentRoot /var/www/html/mydomain.com/staging/ </VirtualHost>

和…

dev.mydomain.com.conf

<VirtualHost *:80> ServerName dev.mydomain.com DocumentRoot /var/www/html/mydomain.com/dev/ </VirtualHost>

问题是:

无论我访问http://staging.mydomain.com还是http://dev.mydomain.com ,我总是登陆staging.mydomain.com (Apache服务这些文件)。

我已经重新启动Apache甚至服务器。 如果我改变.conf文件的顺序,以便dev是第一个,我总是看到。 任何build议将如此赞赏。 谢谢!

更新

我发现自己又回到了这个问题! 如果你知道你的语法是正确的,你可能会有一个糟糕的符号链接删除它并重新创build,重新启动Apache之间。 我只是做了这个,它解决了几个小时的头部划伤。 在CentOS你可以用httpd -S来检查你的可用虚拟主机

更新2

我也发现这个问题存在,当虚拟主机的Apache 日志文件不存在,或不可写。

通配符子域redirect到子目录,而不更改地址栏中的URL

为每个用户(子域或子文件夹)创build父网站的子网站

重写子域名

Nginx将内部http服务公开为https子域

Apache mod_rewrite任何子域到根域,除非作为virtualdocumentroot存在

听起来就像你需要添加NameVirtualHost指令到你的配置。

NameVirtualHost *:80

在某些情况下,Apache可能无法正确处理*:80虚拟主机。 在这种情况下,您应该直接在特定的IP上映射VirtualHosts。

NameVirtualHost 8.8.8.8:80 <VirtualHost 8.8.8.8:80> serverName staging.mydomain.com serverAlias stage.mydomain.com DocumentRoot /var/www/html/mydomain.com/staging/ </VirtualHost> <VirtualHost 8.8.8.8:80> serverName dev.mydomain.com serverAlias development.mydomain.com DocumentRoot /var/www/html/mydomain.com/dev/ </VirtualHost>

您也可以运行apachectl -t -D DUMP_VHOSTS来查看Apache如何解析VirtualHost配置。

更新:正如在评论中提到的,通常你可以使用NameVirtualHost *:80 。 所以大多数情况下,您可以按如下方式配置虚拟主机。

NameVirtualHost *:80 <VirtualHost *:80> serverName staging.mydomain.com serverAlias stage.mydomain.com DocumentRoot /var/www/html/mydomain.com/staging/ </VirtualHost> <VirtualHost *:80> serverName dev.mydomain.com serverAlias development.mydomain.com DocumentRoot /var/www/html/mydomain.com/dev/ </VirtualHost>

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....