apache虚拟主机配置过程问题解决

一直使用xampp做apache服务器,可是新版的xampp添加了虚拟主机就访问127.0.0.1也跳转到了虚拟主机去了,比如:我添加了www.111cn.net,路径是e:wwwdemo,而我的添加完之后,访问127.0.0.1竟然也是跑到了www.111cn.net下面去。

上网找了好多资料说是添加localhost的,于是在httpd.conf最后添加如下配置:

 代码如下 复制代码

<VirtualHost *>
    DocumentRoot E:www
    ServerName 127.0.0.1
#    ErrorLog logs/default-error_log
</VirtualHost>

<Directory "E:www">
    Options Indexes FollowSymLinks Multiviews
    AllowOverride All
    Order Allow,Deny
    Allow from all
</Directory>

发现还是不行,继续查找,期间安装了PHPnow,也是类似的情况,后来无意中看到了NameVirtualHost这个配置,于是写成了:

 

 代码如下 复制代码
NameVirtualHost *

重启apache竟然可以了,坑爹啊,记录下,防止下次踩坑!

下面看一个实践实例

Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.

1. 打开文件 /etc/httpd/conf/httpd.conf, 搜索 VirtualHost example, 找到代码如下:

 代码如下 复制代码

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

2. 仿照例子, 添加一段代码来指定某一域名的网站.

 代码如下 复制代码

#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/httpdocs/demo_neoease_com
    ServerName www.111cn.net
    ErrorLog logs/demo.neoease.com-error.log
    CustomLog logs/demo.neoease.com-access.log common
</VirtualHost>

3. 重启 httpd 服务, 执行以下语句.

 代码如下 复制代码

service httpd restart

时间: 2024-09-08 03:03:52

apache虚拟主机配置过程问题解决的相关文章

域名-apache虚拟主机配置无效,直接跳回根目录的原因是什么?

问题描述 apache虚拟主机配置无效,直接跳回根目录的原因是什么? 使用的是apache2.4.9,将httpd-vhost文件里的模板复制一份更改后发现, 域名访问全部跳回网站根目录,这是什么原因? 解决方案 Include "conf/extra/httpd-vhosts.conf" 解决方案二: Apache 虚拟主机 VirtualHost 配置

apache 虚拟主机配置多IP配置方法

apache 虚拟主机配置多IP配置方法 开启虚拟主机配置文件 对httpd.conf进行设置: 1.注释以下三行 #ServerAdmin #ServerName #DocumentRoot 2.去掉mod_proxy.so和mod_proxy_ajp.so的注释 3.#Virtual hosts #Include conf/extra/httpd-vhosts.conf (查找这行,把前面的#去掉) /conf/extra/httpd-vhosts.conf 4.打开 /conf/extra

最新版apache虚拟主机配置与应用学习教程

要配置apache的虚拟主机,我们需要分以下几步进行: 1. 检查apache虚拟主机模块 2. 开启apache虚拟主机功能 3. httpd-vhosts.conf文件详解 4. 根据IP配置虚拟主机 5. 根据端口配置虚拟主机 6. 根据域名配置虚拟主机 一.检查apache虚拟主机模块 apache要配置虚拟主机,就需要先查看apache是否编译vhost_alias_module模块.当然apache默认是已经编译该模块的,我们可以通过以下命令查看是否已经编译模块,如下: /usr/l

apache虚拟主机配置-php在配置apache虚拟主机时启动虚拟主机配置后就无法启动apache

问题描述 php在配置apache虚拟主机时启动虚拟主机配置后就无法启动apache 在httpd.conf 配置虚拟主机: Virtual hosts ,虚拟主机 Include conf/extra/httpd-vhosts.conf 将上一句Include这句话打开后,apache就无法启动了,而且其他的配置都检查了,没有问题. 查看了error.log (部分log)是这样的: Starting the Apache2.2 service The Apache2.2 service is

apache 虚拟主机配置 泛域名配置方法

<VirtualHost *:80> ServerName www.111cn.net JkMountFile conf/uriworkermap.properties </VirtualHost> <VirtualHost *:80> ServerName mail.abc.com ServerAlias *.111cn.net  111cn.net*.abc.com.cn abc.com.cn RewriteEngine On         RewriteRule

apache虚拟主机配置: 二级目录访问跳转到其他根文件夹_Linux

访问 http://www.abc.com/course/ ,实际访问的是:d:/www/moodle/index.PHP <VirtualHost *:80> ServerAdmin webmaster@abc.com DocumentRoot "d:/www/abc" ServerName www.abc.com ##ServerAlias Alias /course "d:/www/moodle" <Directory "d:/ww

Linux系统下Apache虚拟主机配置的步骤

说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf-bak #修改之前先备份 vi /usr/local/apache/conf/httpd.conf #修改 找到# Virtual hosts这一行,添加以下两行: In

apache虚拟主机配置-配置基于ip的虚拟主机

问题描述 配置基于ip的虚拟主机 这个问题该如何解决啊?求教...先谢过了... 解决方案 配置apache基于ip的虚拟主机:Apache基于IP的虚拟主机本地配置基于ip地址的虚拟主机的配置 解决方案二: 按照书上的命令打的,不知道为何会出现这种情况,我用的是centos7.

CentOS系统Apache虚拟主机配置详解

NameVirtualHost *:80   注意一:NameVirtualHost 指定虚拟主机所使用的IP地址或域名,但是最好是IP地址.使用基于域名的虚拟主机时,NameVirtualHost是必要的指令.NameVirtualHost可以定义多个. 注意二:所有符合NameVirtualHost或<VirtualHost>标签定义的请求,都会被作为虚拟主机处理,而主服务器将不理 会.NameVirtualHost定义了而<VirtualHost>标签没有定义的的请求,服务器