Внутренняя ошибка сервера - htaccess

85

У меня есть файл htaccess, который отлично работает на хосте, но когда я помещаю его локально, он показывает мне эту ошибку:

Внутренняя ошибка сервера

Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос.

Обратитесь к администратору сервера, admin @ localhost, и сообщите им время возникновения ошибки и все, что вы могли сделать, что могло вызвать ошибку.

Дополнительная информация об этой ошибке может быть доступна в журнале ошибок сервера.

Я нашел это предупреждение в файле журнала ошибок:

[Вт, 17 апр, 10:02:25 2012] [предупреждение] [клиент 127.0.0.1] D: /wamp/www/jivan/sql/.htaccess: Неверная команда "Заголовок", возможно, написана с ошибкой или определена модулем, не включенным в конфигурация сервера

это мой код файла 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>

мой локальный сервер запущен wamp, и я также включил модуль перезаписи !!!

так в чем проблема? !!

Afsane
источник

Ответы:

129

Headerдиректива в mod_headersмодуле Apache. Вам необходимо убедиться, что модуль загружен на сервер apache.

Майкл Слейд
источник
8
Спасибо ... он назван как headers_module в списке модулей :)
Saidulu Buchhala
3
Для ленивых просто сделайте: <IfModule headers_module> ... </IfModule>
AntonioCS
98

Шаги по включению модулей HEADERS

$ cd /etc/apache2/mods-available
$ sudo a2enmod headers
$ /etc/init.d/apache2 restart
Аллахбакаш.Г
источник
6
Это может быть однострочный: sudo a2enmod headers && sudo service apache2 restart(должно работать в дистрибутивах на основе Debian).
Амаль Мурали,
34

В командной строке:

Установить mod_headers

sudo a2enmod headers

а затем перезапустите apache

service apache2 restart
Totas
источник
12

Попробуй это:

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

Вы перезапустили WAMP после установки / включения?

Скотт
источник
6

На машине Ubuntu / Debian вы можете просто запустить эту команду:

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

и все должно быть настроено .....

Амир Коклан
источник
0

Этот ответ работает для меня

<IfModule mod_headers.c> Header set [your_options] </IfModule>
Ashrafweb
источник