Search code examples
phpmod-rewriteubuntuubuntu-12.04lamp

How to enable mod_rewrite in LAMP on ubuntu?


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.


Solution

  • 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.