如何在ubuntu上的LAMP中启用mod_rewrite?

时间:2013-07-19 11:44:10

标签: php mod-rewrite ubuntu ubuntu-12.04 lamp

我在我的机器上使用Ubuntu 12.04 LTS linux。我已经安装了LAMP。现在我想启用mod_rewrite模块。我做了很多谷歌并尝试了很多技巧,但无法启用mod_rewrite。任何人都可以帮我启用mod_rewrite吗?提前谢谢。

2 个答案:

答案 0 :(得分:66)

TL; DR版本 - 在终端中执行以下操作:

sudo a2enmod rewrite && sudo service apache2 restart

通过说明 - 在终端中执行以下操作:

ls -l /etc/apache2/mods-available/rewrite.load    ///if it prints out rewrite.load, it's there and ready to go

sudo a2enmod rewrite   //enables the mod

ls -l /etc/apache2/mods-enabled/rewrite.load // shows created symlink

sudo vi /etc/apache2/sites-available/default   //opens the file in vi (you can also use vim or nano)

根据需要将“AllowOverride None”替换为“AllowOverride all”

sudo service apache2 restart    ///restarts apache

在/ etc / apache2 / sites-available中编辑虚拟主机条目,并将AllowOverride All添加到DocumentRoot。您的虚拟主机应该看起来像这样:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/vhosts/example.com
  <Directory /var/www/vhosts/example.com>
    AllowOverride all
  </Directory>
</VirtualHost>

虽然这不适合生产环境,但它适用于本地开发。

答案 1 :(得分:6)

你没有提到你尝试过哪些命令,所以我将从基本命令开始:

sudo a2enmod rewrite

您还可以使用以下方法检查是否已启用mod重写:

apache2ctl -M