Error interno del servidor - htaccess

84

Tengo un archivo htaccess que funciona perfectamente en el host, pero cuando lo pongo en local, me muestra este error:

error de servidor interno

El servidor encontró un error interno o una mala configuración y no pudo completar su solicitud.

Comuníquese con el administrador del servidor, admin @ localhost e infórmeles de la hora en que ocurrió el error y de cualquier cosa que haya hecho que haya causado el error.

Puede encontrar más información sobre este error en el registro de errores del servidor.

Encontré esta alerta en el archivo de registro de errores:

[Mar 17 de abril 10:02:25 2012] [alerta] [cliente 127.0.0.1] D: /wamp/www/jivan/sql/.htaccess: Comando 'Encabezado' no válido, tal vez mal escrito o definido por un módulo no incluido en la configuración del servidor

este es mi código de archivo 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>

mi servidor local ejecutado por wamp y habilité el módulo de reescritura también !!!

Entonces, ¿cuál es el problema?

loco
fuente

Respuestas:

129

la Headerdirectiva está en el mod_headersmódulo apache. Debe asegurarse de que el módulo esté cargado en el servidor apache.

Michael Slade
fuente
8
Gracias ... se llama headers_module en la lista de módulos :)
Saidulu Buchhala
3
Para los perezosos, simplemente haga: <IfModule headers_module> ... </IfModule>
AntonioCS
98

Pasos para habilitar los módulos HEADERS

$ cd /etc/apache2/mods-available
$ sudo a2enmod headers
$ /etc/init.d/apache2 restart
Allahbakash.G
fuente
6
Esto puede ser de una sola línea: sudo a2enmod headers && sudo service apache2 restart(debería funcionar en distribuciones basadas en Debian).
Amal Murali
Esa debería ser la respuesta correcta, ¡gracias!
RafaelB13
33

En tu línea de comando:

Instalar mod_headers

sudo a2enmod headers

y luego reinicia apache

service apache2 restart
totas
fuente
12

Prueba esto:

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

¿Ha reiniciado WAMP después de instalar / habilitar?

Scott
fuente
6

En una máquina Ubuntu / Debian, simplemente puede ejecutar este comando:

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

y debería estar todo listo .....

Amir Koklan
fuente
0

Esta respuesta funciona para mi

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