在上面的课程中,我们不论是通过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设置。
|