Linux Apache主配置域名和扩展的第一个配置域名都访问到第一个配置域名的路径

本文详细介绍了Apache服务器中如何配置虚拟主机,包括主配置文件与扩展配置文件的设置方法。阐述了不同ServerName配置下访问特定目录的方式及可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache配置虚拟主机,开启扩展后要重新配置 主配置虚拟主机,不然其域名就会默认访问扩展配置的第一个虚拟主机根目录。

我的Apache主配置文件:

    vi /etc/httpd/httpd.conf

    ServerName linuxhost

    DocumentRoot "/www/linuxhost"

    <Directory "/data/www">
        Options +Indexes +FollowSymLinks +ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted

</Directory>
......
设置默认访问文件:
DirectoryIndex index.html index.php
......

Include去掉注释#,开启扩展配置

#Include /etc/httpd/extra/httpd-vhosts.conf



Apache扩展配置文件:/etc/httpd/extra/httpd-vhosts.conf

<VirtualHost *:80>
            ServerName bike
            DocumentRoot "/www/bike"
    ErrorLog "logs/bike.com-error_log"
    CustomLog "logs/bike.com-access_log" common

        <Directory />
            Options +Indexes +FollowSymLinks +ExecCGI
            AllowOverride All
            Order allow,deny
            Allow from all
            Require all granted
        </Directory>

</VirtualHost>

这里因为开启了扩展配置,所以访问主配置目录linuxhost下的index.php,
        会默认访问到默认配置的第一个虚拟主机目录里的index.php(未在扩展配置为:ServerName linuxhostd的虚拟主机时)。
            上例访问网站根目录时:
                主配置:    ServerName linuxhost    DocumentRoot "/www/linuxhost"
                扩展:        ServerName bike            DocumentRoot "/www/bike"
                未重新配置linuxhost,访问linuxhost会跳到bike的配置路径:/www/bike
       

但是使用ip(192.168.1.58)在浏览器访问时,一样出现了这样的问题:我照着上述方法配置了:

                ......

                ServerName 192.168.1.58

                ......

同样能行,就这样使用了。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值