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?!!
the Header
directive is in the mod_headers
apache module. You need to make sure that module is loaded into the apache server.
Steps to enable HEADERS modules
$ cd /etc/apache2/mods-available
$ sudo a2enmod headers
$ /etc/init.d/apache2 restart
On your command line:
Install mod_headers
sudo a2enmod headers
and then restart apache
service apache2 restart
Try this:
<IfModule mod_headers.c> Header set [your_options] </IfModule>
Have you restarted WAMP after installing / enabling?
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.....
This answer works for me
<IfModule mod_headers.c> Header set [your_options] </IfModule>
来源:https://stackoverflow.com/questions/10185717/internal-server-error-htaccess