I'm using Ubuntu 12.04 LTS linux on my machine. I've already installed LAMP on it. Now I want to enable the mod_rewrite module. I did google a lot and tried lots of tricks but couldn't be able to enable mod_rewrite. Can anyone help me to enable the mod_rewrite? Thanks in advance.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
TL;DR version -- do the following in your terminal:
sudo a2enmod rewrite && sudo service apache2 restart
With explanations -- do the following in your terminal:
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)
Replace occurrences of "AllowOverride None" with "AllowOverride all" as necessary
sudo service apache2 restart ///restarts apache
Edit your virtual host entry in /etc/apache2/sites-available and add AllowOverride All
to the DocumentRoot. Your virtual host should ultimately look something like this:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/vhosts/example.com
<Directory /var/www/vhosts/example.com>
AllowOverride all
</Directory>
</VirtualHost>
Although this isn't suitable for production environments, it works just fine for local development.
回答2:
You didn't mention what commands did you try, so I will start with the basic one:
sudo a2enmod rewrite
You can also check if mod rewrite is already enable using:
apache2ctl -M