人亦已歌 发表于 2023-2-2 21:25:33

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设置。


fear317 发表于 2023-2-16 06:53:55

编程的不一定是程序员,比如我就只是业余爱好者,一个程序能够运行畅通是我最大的愿望。我甚至是最基本的VB6也没有熟悉,但为了提高实际工作中的效率,只有勉为其难的编一些小程序在工作中用。相比之下你们这些经过系统学习的人是幸运的,共同努力吧,但愿你们能成为中国的娇子。

sxxyzy 发表于 2023-2-18 10:23:05

我才小学四年级,看不懂

zyq 发表于 2023-2-20 05:38:22

哎,咋就越看越心虚。。。

我也叫辣椒 发表于 2023-2-21 18:56:26

说的很中肯,很贴切,正是我们国家IT业的现象,我听了好多老程序员说过,咱们国家的程序员现状态就是一种倒三角形状,学校的规模是早去了,可是学生的质量下去了,是什么原因,值的思考。

GONNASAYBYE 发表于 2023-2-22 13:04:06

谢谢,受教了!呵呵。早点看到就好了呀!!

zgx199081 发表于 2023-2-23 23:20:18

其实编程一开始并没有太多的“路”和灵感,编的程序多了,也便有了。。。。FOR i=学习 TO 实践Print String(i, 成功些)PrintNext i   

jinquan266 发表于 2023-2-24 21:25:46

果然必读!!

hw2007name 发表于 2023-2-26 10:42:43

受益匪浅!不顶没人性阿

xtsmq 发表于 2023-3-1 02:54:50

好文!此文让我少走四年弯路!!!
页: [1] 2 3 4
查看完整版本: PHP核心(四)apache专题之修改虚拟主机的默认首页以及错误处理