如何在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