有些时候,你面临着Apache服务器不读取你的.htaccess配置或当我们在配置文件中使用正确的重写规则后,Apache不重写URL的问题。出现这种情况是由于Apache没有启用重写模块。当我们安装了一个新的Apache服务器时,mod_rewrite默认情况下是没有启用的,因此,要使用它,你需要在你的系统上手动启用mode_rewrite模块重写配置。
1. 启用Apache2的mod_rewrite模块
我们用 a2enmod命令启用Apache2的Web服务器的模块。因此,使用下面的命令开启了
mod_rewrite模块在Apache安装。
$ sudo a2enmod rewrite
2.在虚拟主机中激活重写规则
开启Apache重写模块后,现在你需要添加
“AllowOverride All”在你的虚拟主机配置文件中。这个设置还可以通过编辑Apache的主配置文件全局启用。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
3. 重新启动Apache2配置
实现了mod_rewrite模块的Apache后,您还需要重新加载的Apache2服务器重新加载所有的配置到运行环境。
$ sudo service apache2 restart