Erreur de serveur interne - htaccess

84

J'ai un fichier htaccess qui fonctionne parfaitement sur l'hôte mais quand je le mets en local, cela me montre cette erreur:

Erreur Interne du Serveur

Le serveur a rencontré une erreur interne ou une mauvaise configuration et n'a pas pu terminer votre demande.

Veuillez contacter l'administrateur du serveur, admin @ localhost, et l'informer de l'heure à laquelle l'erreur s'est produite et de tout ce que vous avez pu faire et qui a pu provoquer l'erreur.

Plus d'informations sur cette erreur peuvent être disponibles dans le journal des erreurs du serveur.

J'ai trouvé cette alerte dans le fichier journal des erreurs:

[Tue Apr 17 10:02:25 2012] [alert] [client 127.0.0.1] D: /wamp/www/jivan/sql/.htaccess: Commande "Header" non valide, peut-être mal orthographiée ou définie par un module non inclus dans la configuration du serveur

c'est mon code de fichier htaccess:

  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>

mon serveur local géré par wamp et j'ai également activé le module de réécriture !!!

alors quel est le problème? !!

afsane
la source

Réponses:

129

la Headerdirective se trouve dans le mod_headersmodule apache. Vous devez vous assurer que ce module est chargé dans le serveur Apache.

Michael Slade
la source
8
Merci ... il est nommé comme headers_module dans la liste des modules :)
Saidulu Buchhala
3
Pour les paresseux, il suffit de faire: <IfModule headers_module> ... </IfModule>
AntonioCS
98

Étapes pour activer les modules HEADERS

$ cd /etc/apache2/mods-available
$ sudo a2enmod headers
$ /etc/init.d/apache2 restart
Allahbakash.G
la source
6
Cela peut être une seule ligne: sudo a2enmod headers && sudo service apache2 restart(devrait fonctionner sur les distributions basées sur Debian).
Amal Murali
Cela devrait être la bonne réponse, merci!
RafaelB13 du
33

Sur votre ligne de commande:

Installez mod_headers

sudo a2enmod headers

puis redémarrez apache

service apache2 restart
totas
la source
12

Essaye ça:

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

Avez-vous redémarré WAMP après l'installation / l'activation?

Scott
la source
6

Dans une machine Ubuntu / Debian, vous pouvez simplement exécuter cette commande:

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

et devrait être réglé .....

Amir Koklan
la source
0

Cette réponse fonctionne pour moi

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