85
votes

I have a htaccess file that it work perfectly on host but when I put it on local ,it shows me this error:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

I found this alert in error log file :

[Tue Apr 17 10:02:25 2012] [alert] [client 127.0.0.1] D:/wamp/www/jivan/sql/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration

this is my htaccess file code:

  RewriteEngine On
AddDefaultCharset utf-8
RewriteRule ^([0-9-]+)/keyword_show.html$ keyword_show.php?keyword_id=$1
RewriteRule ^page_(.*).html$  page.php?url=$1
RewriteRule ^([0-9-]+)/(.*)/(.*)/(.*).html$ $2.php?advertisement_cat=$1&id=$3&pagenumber=$4
RewriteRule ^([0-9-]+)/(.*)/(.*).html$ $2.php?advertisement_cat=$1&pagenumber=$3
RewriteRule ^([0-9-]+)/(.*).html$ $2.php?advertisement_cat=$1
# cache images and flash content for one month
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

# cache text, css, and javascript files for one month
<FilesMatch ".(js|css|pdf|txt)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

my local server run by wamp and I enabled rewrite module too!!!

so what`s the prob?!!

6

6 Answers

129
votes

the Header directive is in the mod_headers apache module. You need to make sure that module is loaded into the apache server.

102
votes

Steps to enable HEADERS modules

$ cd /etc/apache2/mods-available
$ sudo a2enmod headers
$ /etc/init.d/apache2 restart
34
votes

On your command line:

Install mod_headers

sudo a2enmod headers

and then restart apache

service apache2 restart
12
votes

Try this:

<IfModule mod_headers.c> Header set [your_options] </IfModule>

Have you restarted WAMP after installing / enabling?

6
votes

In an Ubuntu/Debian Machine you can simply run this command:

sudo ln -s /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/

and should be all set.....

0
votes

This answer works for me

<IfModule mod_headers.c> Header set [your_options] </IfModule>