Wewnętrzny błąd serwera - htaccess


84

Mam plik htaccess, który działa idealnie na hoście, ale kiedy umieszczam go na lokalnym, pokazuje mi ten błąd:

Wewnętrzny błąd serwera

Serwer napotkał błąd wewnętrzny lub błędną konfigurację i nie mógł zrealizować Twojego żądania.

Skontaktuj się z administratorem serwera, admin @ localhost i poinformuj ich o czasie wystąpienia błędu oraz o wszystkim, co mogłeś zrobić, co mogło spowodować błąd.

Więcej informacji o tym błędzie może być dostępnych w dzienniku błędów serwera.

Znalazłem ten alert w pliku dziennika błędów:

[Wt 17 kwietnia 10:02:25 2012] [alert] [klient 127.0.0.1] D: /wamp/www/jivan/sql/.htaccess: Niepoprawne polecenie „Nagłówek”, prawdopodobnie błędnie wpisane lub zdefiniowane przez moduł nieuwzględniony w konfiguracja serwera

to jest mój kod pliku 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>

mój lokalny serwer obsługiwany przez wampa i włączyłem również moduł przepisywania !!!

więc o co chodzi? !!

Odpowiedzi:


129

Headerdyrektywa jest w mod_headersmoduł Apache. Musisz upewnić się, że moduł jest załadowany do serwera Apache.


8
Dzięki ... jest nazwany jako headers_module na liście modułów :)
Saidulu Buchhala

3
Dla leniwych po prostu zrób: <IfModule headers_module> ... </IfModule>
AntonioCS

98

Kroki, aby włączyć moduły HEADERS

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

6
Może to być jedna linijka: sudo a2enmod headers && sudo service apache2 restart(powinno działać na dystrybucjach opartych na Debianie).
Amal Murali

To powinna być prawidłowa odpowiedź, dziękuję!
RafaelB13

33

W linii poleceń:

Zainstaluj mod_headers

sudo a2enmod headers

a następnie uruchom ponownie Apache

service apache2 restart

12

Spróbuj tego:

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

Czy uruchomiłeś ponownie WAMP po zainstalowaniu / włączeniu?


6

Na maszynie Ubuntu / Debian możesz po prostu uruchomić to polecenie:

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

i powinien być ustawiony .....


0

Ta odpowiedź mi pasuje

<IfModule mod_headers.c> Header set [your_options] </IfModule>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.