PHP核心(四)apache专题之修改虚拟主机的默认首页以及错误处理
在上面的课程中,我们不论是通过ip还是域名访问站点时,都并未指定具体要访问哪个文件,它默认都访问了index.php文件,之所以可以这样,是因为在apache的配置文件中设置了index.php为默认首页。配置项位于httpd.conf中的IfModule dir_module标签对中,搜索IfModule dir_module即可找到。
<IfModule dir_module>
DirectoryIndex index.html index.php index.htm l.php
</IfModule>
DirectoryIndex中用空格分割的每一项都是默认首页,前后顺序表示:如果站点目录中没有index.html那就访问index.php,如果没有index.php就访问index.htm...
我们来验证一下是否这样
在test目录中添加一个index.html文件并写入任意内容,因为按照目前的默认首页设置,如果使用域名直接请求站点,应该访问index.html才对,是不是这样呢?
果然如此。
所以,如果我们想设置php.html为默认首页的话,那就这么写
<IfModule dir_module>
DirectoryIndex php.html index.html index.php index.htm l.php
</IfModule>
修改后记得重启apache。
在test中创建一个php.html并写入任意内容测试一下
重启后发现不对,那是因为此时的httpd.conf中的默认首页配置被虚拟主机的vhost.conf文件覆盖了,所以我们需要修改vhost.conf文件。
修改了重启,然后继续访问www.test.com,发现正常了。
前面之所以修改httpd.con是为了让大家知道,如果apache是独立安装的而非集成环境,只要修改httpd.conf即可,只是目前我们用的是继承环境,而且又为httpd.conf引入了外部的vhost.conf,且vhost.conf中又存在DirectoryIndex配置项,所以就覆盖了httpd.conf中的DirectoryIndex设置。
编程的不一定是程序员,比如我就只是业余爱好者,一个程序能够运行畅通是我最大的愿望。我甚至是最基本的VB6也没有熟悉,但为了提高实际工作中的效率,只有勉为其难的编一些小程序在工作中用。相比之下你们这些经过系统学习的人是幸运的,共同努力吧,但愿你们能成为中国的娇子。 我才小学四年级,看不懂 哎,咋就越看越心虚。。。 说的很中肯,很贴切,正是我们国家IT业的现象,我听了好多老程序员说过,咱们国家的程序员现状态就是一种倒三角形状,学校的规模是早去了,可是学生的质量下去了,是什么原因,值的思考。 谢谢,受教了!呵呵。早点看到就好了呀!! 其实编程一开始并没有太多的“路”和灵感,编的程序多了,也便有了。。。。FOR i=学习 TO 实践Print String(i, 成功些)PrintNext i 果然必读!! 受益匪浅!不顶没人性阿 好文!此文让我少走四年弯路!!!