一直使用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"> |
发现还是不行,继续查找,期间安装了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