Enabling .htaccess file to rewrite path (not working)
All the tutorials tell me to edit the: /etc/apache2/sites-available/default
but this file doesn't exist for me. Within this file I would have to edit the:
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None #AllowOverride All #AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews Order allow,deny allow from all </Directory>
What should the file look like and should I create it myself?
Aslo I do have a 000-default.conf
file but the above 'code' isn't in there either.
Solution 1:
For apache version 2.4 and later, you have to go to
/etc/apache2/apache2.conf
You have to edit that file (you should have root permission). Change directory text like this;
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Now restart apache.
service apache2 restart
Hope it works.
Solution 2:
As of Ubuntu 14.04 (and Apache 2.4), the default DocumentRoot was changed from /var/www
to /var/www/html
.
Firstly enable a2enmod and restart Apache.
sudo a2enmod rewrite
Then edit the 000-default.conf
file
sudo nano /etc/apache2/sites-enabled/000-default.conf
and add these lines at the end
<Directory /var/www/html>
AllowOverride All
</Directory>
Finally, restart Apache for the configuration to take effect.
sudo service apache2 restart
Solution 3:
If you don't want to repeat the same configurtion at each upgrade / update
The best way is :
Edit or create a config file
/etc/apache2/conf-available/httpd.conf
Add
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Enable the config file
sudo a2enconf httpd
Restart or reload Apache
sudo service apache2 restart
or
sudo service apache2 reload
It's done!