Внутрішня помилка сервера - htaccess


84

У мене є файл 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, і я також включив модуль перезапису !!!

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

Відповіді:


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).
Амаль Муралі

Це повинна бути правильна відповідь, дякую!
RafaelB13

33

У вашому командному рядку:

Встановіть mod_headers

sudo a2enmod headers

а потім перезапустіть apache

service apache2 restart

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/

і все повинно бути готово .....


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.