.htaccess not working on my Ubuntu 14.04 LAMP Stack

Posted July 10, 2014 57.3k views

I have just configured my LAMP stack on my Ubuntu 14.04 distribution and want to set .htaccess up to serve a website I am building for a client (he is reluctant for me to use NGINX as his current site sits on top of APACHE)

I followed the tutorial and configured a virtual host for my domain, however I am still unable to use the .htaccess file in my projects root, whenever I try to serve a page I get a 404 error.

The .conf file for my domain looks like:

<VirtualHost *:80>

DocumentRoot /var/www/

<Directory />
        Options FollowSymLinks
        AllowOverride None

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

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined


I tried to change AllowOverride None to AllowOverride All but that caused an internal 500 erorr, can anyone help me out here?


1 comment

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
5 answers

I had the same issue and solved it now.

After enable mod_rewrite
We need to change setting of AllowOverride to All

Option 1: Find available sites you created:
ls -l /etc/apache2/sites-enabled

Example display:

ls -l /etc/apache2/sites-enabled
total 0
lrwxrwxrwx 1 root root 35 Aug 5 15:08 000-default.conf -> ../sites-available/000-default.conf

So your site is in file config: 000-default.conf

Open the file if is there any written there?
If you could see the folder setting of AllowOverride, change its setting from “None” to “All” on your main web folder (Ex: /var/www/)

If you could see that the file display empty so you should go to Option 2.

Option 2: Change the apache2 configuration to enable override all
Find your apache2.conf, in my case, it’s in /etc/apache2/

So open it and change the expected feature:

sudo vi /etc/apache2/apache2.conf

Change on <Directory /var/www/>
AllowOverride none


AllowOverride All

My case, it’s working with Option 2.

  • I have enabled mod_rewrite and I am still having the same issue,

    • After 2 days of trying to fix, I fixed it for myself. Hopefully this last solution works for you and everyone in the future. When creating an SSL certificate. Make sure you edit the SSL version of conf file too!!!

Here option 2! You saved me :) Tnks a Lot!

As a non techical person I solved this issue with Option 2 which works for me, Thanks a lot

removing the Options Indexes FollowSymLinks MultiViews worked for me