How to enable mod_rewrite in Apache?

I just installed the LAMP stack on my Ubuntu system.

The redirection is not working for me. I don't know how to fix it. Can anyone help me?

5

2 Answers

To enable it the rewrite module, run "apache2 enable module rewrite":

sudo a2enmod rewrite

You need to restart the webserver to apply the changes:

sudo service apache2 restart

If you plan on using mod_rewrite in .htaccess files, you also need to enable the use of .htaccess files by changing AllowOverride None to AllowOverride FileInfo. For the default website, edit /etc/apache2/sites-available/default:

 <Directory /var/www/> Options Indexes FollowSymLinks MultiViews # changed from None to FileInfo AllowOverride FileInfo Order allow,deny allow from all </Directory>

After such a change, you need to restart Apache again.

5

I dare to add a special answer (as a followup to the great answer above) regarding ubuntu 14.04 and .htaccess :

In 14.04, the name of the default configuration file is changed to 000-default.conf :

sudo gedit /etc/apache2/sites-available/000-default.conf

add the following to the end of the file :

<Directory "/var/www/html"> AllowOverride All
</Directory>

For some reason, in Ubuntu 14.04 and apache2 the root is set to /www/html. If you want to change the webserver root back to good old /www, open 000-default.conf and change

DocumentRoot /var/www/html/

to

DocumentRoot /var/www/

and then off course it should be

<Directory "/var/www"> AllowOverride All
</Directory>
2

You Might Also Like