Errore interno del server - htaccess


84

Ho un file htaccess che funziona perfettamente su host ma quando lo metto in locale, mi mostra questo errore:

Errore interno del server

Il server ha riscontrato un errore interno o un'errata configurazione e non è stato in grado di completare la richiesta.

Contatta l'amministratore del server, admin @ localhost e informali dell'ora in cui si è verificato l'errore e di qualsiasi cosa tu abbia fatto che potrebbe aver causato l'errore.

Ulteriori informazioni su questo errore potrebbero essere disponibili nel registro degli errori del server.

Ho trovato questo avviso nel file di registro degli errori:

[Tue Apr 17 10:02:25 2012] [alert] [client 127.0.0.1] D: /wamp/www/jivan/sql/.htaccess: comando "Header" non valido, forse scritto male o definito da un modulo non incluso in la configurazione del server

questo è il codice del mio file 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>

il mio server locale gestito da wamp e ho abilitato anche il modulo di riscrittura !!!

quindi qual è il problema? !!

Risposte:


129

la Headerdirettiva è nel mod_headersmodulo apache. Devi assicurarti che il modulo sia caricato nel server Apache.


8
Grazie ... è chiamato come headers_module nell'elenco dei moduli :)
Saidulu Buchhala

3
Per i più pigri basta fare: <IfModule headers_module> ... </IfModule>
AntonioCS

98

Passaggi per abilitare i moduli HEADERS

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

6
Questa può essere una battuta: sudo a2enmod headers && sudo service apache2 restart(dovrebbe funzionare su distribuzioni basate su Debian).
Amal Murali

Questa dovrebbe essere la risposta corretta, grazie!
RafaelB13

33

Sulla tua riga di comando:

Installa mod_headers

sudo a2enmod headers

e quindi riavvia apache

service apache2 restart

12

Prova questo:

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

Hai riavviato WAMP dopo l'installazione / abilitazione?


6

In una macchina Ubuntu / Debian puoi semplicemente eseguire questo comando:

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

e dovrebbe essere tutto pronto .....


0

Questa risposta funziona per me

<IfModule mod_headers.c> Header set [your_options] </IfModule>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.