Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Enable htaccess error on Ubuntu 12.04 with Apache2

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 [email protected]

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>
like image 563
Thuong Nguyen Avatar asked Jun 16 '12 13:06

Thuong Nguyen


People also ask

Where is .htaccess apache2 Ubuntu?

htaccess files. On Linux the main server configuration file is usually at /etc/apache2/httpd. conf or /etc/apache2/apache2. conf , and it typically uses an Include directive to incorporate other files which may be in subdirectories of /etc/apache2 .

How do I open a .htaccess file in Ubuntu?

htaccess file for your website, run the following command: sudo nano /var/www/ your_domain /. htaccess.

Why htaccess is not working?

Improper syntax being used It is quite common for a syntax error to be the reason for an . htaccess file not working. If you are familiar with how to read and configure . htaccess rules, double check your configuration.


1 Answers

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.

like image 198
Mikhail.root Avatar answered Nov 12 '22 22:11

Mikhail.root