2.使用 a2enmod 命令启用模块; 使用 a2dismod 命令停用模块
例如: 启用 rewrite 模块可以用如下命令:
sudo a2enmod rewrite
停用 cgi 模块可以用如下命令:
sudo a2dismod cgi
指令的作用域
从指令的作用域来划分,Apache 中有两类指令:
*普通指令:普通指令对整个服务器都有效
*容器指令:可以放置在容器内对特定的访问资源实施额外的配置,它只对特定的访问资源有效
Apache 中常用的容器包括:
*和 : 用于对指定的目录实施额外的配置
*和 : 用于对指定的文件实施额外的配置
*和 : 用于对指定的 URL 实施额外的配置
*容器都是成对出现的,所有在容器中使用的配置指令都应该放置在 <> 和 内,如:
……
*以上所有带 “Match” 的容器指令与其相应的不带 “Match” 的容器指令功能相同,只是在描述资源时可以使用正则表达式
*这些容器还可以进行嵌套,以进行更精细的配置
此外,Apache 还具备同时支持多个站点的能力,称为虚拟主机。放置在 容器中的指令仅对特定虚拟主机有效。
虽然大多数指令可以包含在任意的容器中,但是也用特例。要查询一个指令可以被应用于哪些配置段中,可以在 Apache 手册中查看该指令的 作用域 项。
基于目录的配置文件
Apache 除了使用主配置文件之外,还可以使用分布在整个网站目录树中的特殊文件来进行分散配置。这样的特殊配置文件称为基于目录的配置文件, 这些特殊的文件通常叫 .htaccess ,但是也可以用 AccessFileName 指令来改变它的名字。
显然,基于目录的配置文件 (.htaccess 文件)中指令的作用域是存放它的那个目录及其所有子目录。
*.htaccess 文件的语法与主配置文件相同。放在 容器中的指令都可以出现在 .htaccess 文件中,具体能出现哪些指令由主配置文件中的 AllowOverride 指令来决定
*由于客户对服务器的每次访问请求都会读取.htaccess文件,所以对这些文件的修改会立即生效,即无需使服务器加载配置文件或重新启动。
基本配置指令
服务器标识指令
*ServerName : 服务器用于辨识自己的主机名和端口号
*ServerAdmin : 服务器返回给客户端的错误信息中包含的管理员邮件地址
*ServerSignature : 配置服务器生成页面的页脚(错误信息、mod_proxy的ftp目录列表、mod_info的输出)
*ServerTokens : 控制了服务器回应给客户端的”Server:“应答头是否包含关于服务器操作系统类型和编译进的模块描述信息
*UseCanonicalName : 决定 Apache 如何构造 URL 中 SERVER_NAME 和 SERVER_PORT 的指令。