学习记录:
今天在为自己的网站设置404页面的时候,发现网上的教程几乎都没讲出如何为htdocs的不同网站项目设置404页面,经过一番摸索,我终于弄好了。。。
我使用集成环境xampp,Apache服务器。首先先讲解一下Apache的httpd.conf中的几个关键语句。
- LoadModule rewrite_module modules/mod_rewrite.so
这句是实现功能最重要的,意思是开启Apache的rewrite_module模块,让Apache支持.htaccess - 根目录和根目录下的AllowOverride
DocumentRoot “F:/xampp/htdocs”
找到上面这段话(用搜索),上面面这段话是说根目录是"F:/xampp/htdocs",那我们只要找到根目录的Directory,对根目录的AllowOverride设置成all即可。
<Directory “F:/xampp/htdocs”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
Require all granted
**注:**如果你想对其他目录的AllowOverride进行修改,也可以复制上面语句,自己改掉目录。 - .htaccess 文件的内容和位置。
注意上面提到的根目录,这里也是我栽跟头的地方,网上的教程都说在.htaccess中写上ErrorDocument 404 /404.html就行,然后把404.html放在根目录下就行,关键我就想放在F:/xampp/htdocs/webgc 网站项目中怎么办呢?这里你需要注意的是ErrorDocument 404 /404.html这句话是什么意思。加粗部分就是指向的404页面地址(是相对地址,省略的部分是根目录,也就是说这样写实际是指F:/xampp/htdocs/404.html),所以清楚了,这里我应该写成ErrorDocument 404 /webgc/404.html 注意区别。
此时,我将404.html与改过的.htaccess文件一起放在F:/xampp/htdocs/webgc 下就大功告成了。当然,如果你想在其他的网站项目设置不同的404界面,按照以上操作再做一遍就行。 - 最后,不管你改了啥,重启Apache呀!很重要