Enable htaccess error on Ubuntu 12.04 with Apache2

.htaccess, apache2

Solution

I think you need to change this part of your /etc/apache2/sites-available/default

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

to

DocumentRoot /var/www/abc.biz
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Because at first `<Directory /> AllowOverride All` you allow to override settings with your .htaccess file for the whole apache, but also you need to change it at `<Directory /var/www/abc.biz/> AllowOverride All` for your specific host directory, where your web site is placed. Also you should check .htaccess files placed in your /var/www/abc.biz directory to be correctly writen, because when you enable .htaccess files to override global apache settings wrong .htaccess file causes such error.

Problem

I tried to enable htaccess. I changed: ``` <Directory /var/www/abc.biz/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ``` To: ``` <Directory /var/www/abc.biz/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ``` But I'm getting 500 (Internal Server) error. Why? Here is my `/etc/apache2/sites-available/default` file: ``` <VirtualHost *:80> ServerAdmin admin@abc.biz DocumentRoot /var/www/abc.biz <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/abc.biz/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> ```

Original source