最近在学习使用Apache服务器的配置,做一个记录。
Apache下有个.htaccess文件,是Apache的一个特殊的配置文件。这个配置文件默认是没有的,要手动在各自的项目的根目录编写才行。
要实现网站发生404错误时跳转到自定义404页面:
1.设置Apache加载rewrite模块,使其能够支持url重写相关操作。
2.Apache开启Override属性(以上两个修改,都是在Apache的主配置文件里修改,例如httpd.conf apache2.conf,这两个配置文件有什么区别,我还不是很清楚,但是都修改才会生效。修改后要重启Apache)
3.编写.htaccess 文件(修改这个文件是即时生效的,无需重启)
windows的Apache的主配置都在http.conf文件里面,而linux下的Apache主配置文件貌似有两个地方,一个是/etc/apache/apache2.conf 一个是/usr/local/apache2/conf/httpd.conf
一开始我值修改了httpd.conf,没有效果,后来两个都修改了,发现生效了。
下面操作:
1.使Apache加载rewrite模块,其实就是把httpd.conf文件里一个注释解开,然后重启Apache就可以了。
上面这段代码,默认是前面有#,被注释掉的。解开注释就好了。
2.把配置文件httpd.conf和apache2.conf里的 AllowOverride 都设置为All(默认是None的)。
3.编写.htaccess自定义404页面的配置就这么一行:
ErrorDocument 404 /test/my404.html
ErrorDocument 算是一个指令
404 是错误类型的代码,同理可以处理500错误等。
/test/my404.html 是自定义404页面的路径,从网站Apache根目录开始,也就是说其目录结构应该是这样:/var/www/test/my404.html