apache - Centos6 - Apache |子域不工作

标签 apache dns centos subdomain

好的,所以我在 CentOS 6(64 位)网络服务器上遇到了 apache 问题。

每当我加载 http://myserver.com/sub ,它可以完美运行并在/var/www/html/sub 中加载页面。

由于某种原因,在加载 http://sub.myserver.com 时,它会加载 /var/www/html 中的页面,而不是 /var/www/html/sub .

此外,我的 DNS 名称服务器运行在同一个 vps 上。以下是区域文件中的记录:

; Mapping

@               IN  A               127.0.0.1
www             IN  A               127.0.0.1

我的设置有问题还是我需要编辑一些配置?

谢谢。

最佳答案

在我的服务器上,我设置了一个虚拟主机来让子域工作。我相信如果你没有为它设置虚拟主机,apache 不知道将 subdomain.domain.tld 请求发送到哪里,所以它只是将它发送到与 primarydomainl.tld 请求相同的地方。

您必须在 apache 配置文件中设置虚拟主机。有几种方法可以做到这一点,但我个人决定将其放入 httpd.conf 文件中。

如果你在 centos 上,那么它将在/etc/httpd/conf/httpd.conf
在 ubuntu 上,它位于/etc/apache2/某处,尽管我不完全确定整个路径,也没有 ubuntu 机器启动 atm 来检查。

这是我的服务器上当前正常工作的示例:

<VirtualHost *:80>
        ServerName primarydomain.tld
        ServerAlias www.primarydomain.tld
        DocumentRoot /var/www/html
        <Directory "/var/www/html">
                allow from all
                Options +Indexes
        </Directory>
</VirtualHost>    

<VirtualHost *:80>
        ServerName      subdomain.primarydomain.tld
        DocumentRoot    /var/www/subdomain
        <Directory "/var/www/subdomain">
                allow from all
                Options +Indexes
        </Directory>
</VirtualHost>

您还需要确保设置了 A 和 CNAME 记录:

一个 subdomain.primarydomain.tld ipaddress
CNAME *.subdomain.primarydomain.tld subdomain.primarydomain.tld

关于apache - Centos6 - Apache |子域不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34748902/

相关文章:

git - Docker 上带有 Alpine Linux 的 Apache git 服务器

apache - 在 HTTP 站点中显示 HTTPS 内容,使用 RewriteRule

networking - DNS 应答返回没有 IP 地址的 NS 记录,这正常吗?

java - Apache HTTP 客户端 socks 代理

php - 对于非网络爱好者来说,建立并托管堆栈克隆有多困难?

dns - 为什么无论区域分配如何,Google Cloud Platform 静态 IP 地址都会在反向查找中列出加利福尼亚州山景城?

java - 使用域而不是 localhost/ip 地址访问 Web 应用程序会导致找不到网页?

linux - 如何从文本文件获取Centos安装日期

linux - 如何使用可启动 USB 在 Toshiba Satellite 中删除以前版本的 centos 7 并安装新的 centos 7

linux - 如何使特定于特定虚拟主机的 apache2.4 配置不影响 centos 服务器上的其他虚拟主机