如何在Apache中启用mod_rewrite?

我刚刚在我的Ubuntu系统上安装了LAMP堆栈。

重定向对我不起作用。 我不知道如何解决它。 谁能帮我?

要启用重写模块,请运行“apache2 enable module rewrite”:

 sudo a2enmod rewrite 

您需要重新启动Web服务器才能应用更改:

 sudo service apache2 restart 

如果计划在.htaccess文件中使用mod_rewrite,则还需要通过将AllowOverride None更改为AllowOverride FileInfo来启用.htaccess文件。 对于默认网站,请编辑/etc/apache2/sites-available/default

   Options Indexes FollowSymLinks MultiViews # changed from None to FileInfo AllowOverride FileInfo Order allow,deny allow from all  

完成此类更改后,您需要重新启动Apache。

  • 关于AllowOverride的Apache文档
  • a2enmod手册页

关于ubuntu 14.04.htaccess我敢于添加一个特殊的答案(作为上述答案的后续内容):

在14.04中,默认配置文件的名称更改为000-default.conf

 sudo gedit /etc/apache2/sites-available/000-default.conf 

将以下内容添加到文件末尾:

  AllowOverride All  

出于某种原因,在Ubuntu 14.04和apache2中,root被设置为/www/html 。 如果要将Web服务器根目录更改为旧的/www ,请open 000-default.conf并进行更改

 DocumentRoot /var/www/html/ 

 DocumentRoot /var/www/ 

然后当然应该是

  AllowOverride All