目录
1 Apache配置概述
1.1 全局配置文件httpd.conf
全局配置文件主要用于配置以下功能:
- 配置prefork模块功能;
- 配置长连接功能;
- 配置httpd监听的套接字;
- 配置worker模块功能;
- 配置DSO;
- 配置网站根目录;
- 配置默认主页;
- 配置访问控制;
- 基于IP的访问控制;
- 用户目录;
- 日志;
- 设置字符集;
- 配置路径别名;
- 配置CGI;
- 配置虚拟主机功能;
- 状态页面;
- 页面压缩;
- 基于用户的访问控制。
1.2 分布式配置文件.htaccess
背景:当我们使用apache部署一个网站代码准备部署到网上的时候,我们手中的apache的httpd.conf大家肯定都知道。这是apache的配置文件,然而我们大多数的网站都是基于云服务器来部署的,还有就是团队协作开发的时候,我们很难直接修改公共的httpd.conf,这时 .htaccess就是httpd.conf的衍生品,它起着和httpd.conf相同的作用。
.htaccess是Apache服务器的分布式配置文件,是一个纯文本文件,它里面存放着Apache服务器配置相关的指令。该配置文件会覆盖Apache服务器的全局配置,作用域是当前目录及其子目录。
基本作用
- URL重写、自定义错误页面
- MIME类型配置
- 访问权限控制等
- 主要体现在伪静态的应用
- 图片防盗链
- 自定义404错误页面
- 阻止/允许特定IP/IP段
- 目录浏览与主页
- 禁止访问指定文件类型
- 文件密码保护
启用.htaccess文件的条件
- 1)httpd.conf文件允许重写覆盖相关配置。查找AllowOverride并启用,设置如下图,有的版本默认开启有的不是,最好检查一下。
- 2)允许在httpd.conf外重写配置。在.httpd.conf文件中中查找mod_rewrite.so,设置如下图,有的版本默认开启有的不是,最好检查一下。