配置Apache的虚拟站点

有关Apache的虚拟站点也是耳闻已久,奈何本人比较懒,迟迟没有配置,但是昨天做项目碰到的很尴尬的问题,

让我不得不去配置。。。

一、配置的原因:

因为要把本地的项目放到服务器上。我本地的目录结构是:D:\phpStudy\www\admin

admin里面是我的laravel项目。而通过git上传之后,发现css,js文件都无法加载资源了。仔细一看,原来是因为

本地相对于服务器来说,文件目录多了个admin,所以两者不统一,要么服务器显示正常,本地扑街。。要么本地

正常,服务器扑街,,因此,我决定配置个虚拟站点,把项目直接放上去,模拟服务器的目录结果就OK了。

(1)css,js在服务器上无法加载的资源的问题:

1、打开F12,看一下报错信息,是路径错误还是提示返回的不是text/css,而是text/html

2、若是路径不对,则调路径,若是加载的问题,在引入的时候加上type="text/css"

3、css,js有时候会存在浏览器的缓存问题,所以可以清除浏览数据试试

二、配置的过程:

(1)在D:\phpStudy下新建文件夹web,代表我们的新站点文件,路径为:D:\phpStudy\web

(2)其次是进入C盘下的hosts文件,编辑我们的新主机名称:

配置Apache的虚拟站点_第1张图片

在文件的最后加上一段代码:127.0.0.1  www.lijinfeng.com   (LZ用的win7,目录结构如上)

(3)进入Apache的配置文件httpd-conf中:ctrl+F进行搜索

1、搜索:Include conf/extra/httpd-vhosts.conf  去掉前面的注释,这个意思就是启动虚拟机

(4)进入Apache的配置文件,找到:Apache\conf\extra\httpd-vhosts文件,编辑虚拟站点配置:

配置Apache的虚拟站点_第2张图片

这就是我本地的虚拟站点配置:乱码是因为中文注释

1、首先是看到我用的80端口,DocumentRoot  对应你的文件目录,可能有人会好奇,明明我的

站点是D:\phpStydy\web,为什么这里却多了个public,这是因为laravel框架的原因,为了达到输入域名就直接访问laravel的public/index.php,所以这边这样写。

2、ServerName:这个对应你的主机名:在此填上你的主机名即可。

3、DirectoryIndex:这个代表你的默认访问页面,一般是index.html和index.php

4、下面是错误日志,还有权限控制,我并没有加上,因为没用上,权限控制请看

这里:http://blog.csdn.net/the_victory/article/details/51006167,这个博主写的不错

(5)重启Apache,浏览器输入:www.lijinfeng.com,你就会发现你可以愉快的访问这个站点了。

三、其他问题:

(1)常见报错:403 accescc forbidden。

这个问题的解决方案:1、检查配置,保证serverName没有错

2、apache记得每次修改之后都要重启

3、加上权限这块,我没有加(PS:apache2.2和apache2.4的写法不一样

要慎重)

4、找度娘。。

(2)配置成功之后,发现localhost不能访问了:

解决方案:那就再建一个localhost的虚拟站点,必须要有localhost,不然配置这个虚拟主机也就

没什么意思了。

1、在apache的httpd-vhosts中新增配置:

配置Apache的虚拟站点_第3张图片

2、打开apache的配置文件,去掉ServerName  localhost这一行,并重启

3、进入C盘的hosts文件,新增:127.0.0.1  localhost

4、访问你的localhost,你就会发现,你的localhost又回来了

四、其他

1、虚拟站点可以建好几个,在此只是建一个,做个例子

2、还有虚拟目录可以配置,这个网上一大堆,我这儿就不再啰嗦了

3、越来越发现不会的东西好多好多,有点方

与君共勉!

 

 

 

你可能感兴趣的:(php日常bug)