1、在终端中执行sudo a2enmod rewrite指令。或者通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/apache2/mods-enabled/rewrite.load 来打开 Mod_rewrite 模块,用指令操作就是:sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load。
不管使用哪种方法,都是在/etc/apache2/mods-enabled这个目录下面建立了一个链接,只要重启服务器之后就可以生效。当然要使rewrite生效,还需要修改以下额外的配置
2、修改/etc/apache2/sites-available/default这个文件,将AllowOverride None 修改为AllowOverride All。
3、修改/etc/apache2/apache2.conf将AllowOverride None改为AllowOverride All即可。
4、重启apache2服务,注意需要sudo来重启,不然无法执行成功。即 sudo /etc/init.d/apache2 restart.
执行完上面几步后,就成功开启了apache2的mod_rewrite功能了。
———————————————————————————————————————————-
Apache配置说明查看 https://help.ubuntu.com/12.04/serverguide/httpd.html
其中几个文件及目录的作用是:
apache2.conf:Apache的主要配置文件,包含全局配置。
conf.d:Apache全局配置文件,其他需要使用Apache的包可以在这个目录下创建文件或者链接。
envvars:Apache2环境变量设置。
httpd.conf:遗留的Apache2主要配置文件。这个文件是空的,其中的配置选项都转移到其他配置文件里了。这个文件可以进行Apache全局配置。
mods-available:这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。
mods-enabled:持有/etc/apache2/mods-available目录下文件的链接,当该目录下有一个模块文件和其配置文件,那么Apache重启后该模块将生效。
ports.conf:配置Apache监听的端口。
sites-available:这个目录包含Apache虚拟主机的配置文件。虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。
sites-enabled:持有/etc/apache2/sites-available目录下文件的链接。当Apache重启后,该目录中包含的站点将会被激活。