我在我的机器上使用 Ubuntu 12.04 LTS linux。我已经在上面安装了 LAMP。现在我想启用 mod_rewrite 模块。我做了很多谷歌并尝试了很多技巧,但无法启用 mod_rewrite。谁能帮我启用 mod_rewrite?提前致谢。
问问题
56049 次
2 回答
70
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>
虽然这不适合生产环境,但它适用于本地开发。
于 2013-07-19T11:47:47.533 回答
6
您没有提到您尝试了哪些命令,所以我将从基本命令开始:
sudo a2enmod rewrite
您还可以使用以下方法检查 mod 重写是否已启用:
apache2ctl -M
于 2013-07-19T11:47:09.603 回答