Erro interno do servidor - htaccess


85

Eu tenho um arquivo htaccess que funciona perfeitamente no host, mas quando eu coloco no local, ele me mostra este erro:

Erro do Servidor Interno

O servidor encontrou um erro interno ou configuração incorreta e não conseguiu concluir sua solicitação.

Entre em contato com o administrador do servidor, admin @ localhost, e informe a hora em que o erro ocorreu e qualquer coisa que você possa ter feito que possa ter causado o erro.

Mais informações sobre esse erro podem estar disponíveis no log de erros do servidor.

Encontrei este alerta no arquivo de registro de erros:

[Ter 17 de abril 10:02:25 2012] [alerta] [cliente 127.0.0.1] D: /wamp/www/jivan/sql/.htaccess: Comando inválido 'Cabeçalho', talvez incorreto ou definido por um módulo não incluído em a configuração do servidor

este é o código do meu arquivo 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>

meu servidor local executado por wamp e eu habilitei o módulo de reescrita também !!!

então qual é o problema? !!

Respostas:


129

a Headerdiretiva está no mod_headersmódulo apache. Você precisa ter certeza de que o módulo está carregado no servidor apache.


8
Obrigado ... é nomeado como headers_module na lista de módulos :)
Saidulu Buchhala

3
Para os preguiçosos, basta fazer: <IfModule headers_module> ... </IfModule>
AntonioCS

98

Passos para ativar os módulos HEADERS

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

6
Pode ser de uma linha: sudo a2enmod headers && sudo service apache2 restart(deve funcionar em distros baseadas em Debian).
Amal Murali

34

Na sua linha de comando:

Instale mod_headers

sudo a2enmod headers

e então reinicie o apache

service apache2 restart

12

Experimente isto:

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

Você reiniciou o WAMP após instalar / ativar?


6

Em uma máquina Ubuntu / Debian, você pode simplesmente executar este comando:

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

e deve estar tudo pronto .....


0

Esta resposta funciona para mim

<IfModule mod_headers.c> Header set [your_options] </IfModule>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.