2012-01-07 2 views
11

Не так давно я переехал из XAMPP в WAMP
И теперь, когда я вошел в мой сайт появился эта ошибка:WAMP .htaccess дает внутренняя ошибка сервера после переезда из XAMPP

Внутренняя ошибка сервера Сервер столкнулся внутренняя ошибка или неправильная конфигурация и не удалось выполнить ваш запрос. Обратитесь к администратору сервера, admin @ localhost и сообщите им о времени возникновения ошибки, и все, что вы могли бы сделать, что могло привести к ошибке. Дополнительная информация об этой ошибке может быть доступна в журнале ошибок сервера.

Когда я использовал этот код в .htaccess:

<FilesMatch "\.(pdf|swf|js|css)$"> 
    Header set Cache-Control "max-age=604800" 
</FilesMatch> 

<FilesMatch "\.(html|cgi|php|htm)$"> 
    Header set Expires "Thu, 01 Dec 2003 16:00:00 GMT" 
    Header set Cache-Control "no-store, no-cache, must-revalidate" 
    Header set Pragma "no-cache" 
</FilesMatch> 


AddOutputFilterByType DEFLATE text/plain 
AddOutputFilterByType DEFLATE text/html 

<Files *.js> 
    SetOutputFilter DEFLATE 
</Files> 

<Files *.css> 
    SetOutputFilter DEFLATE 
</Files> 

Как я могу исправить эту проблему?


Я нашел apache_error.log:

[Сб Янв 07 13:58:06 2012] [предупреждение] [клиент 127.0.0.1] C: /wamp/www/website/.htaccess : Неверная команда «Заголовок», возможно, опечатка или определяется модуль не входит в конфигурацию сервера, реферера: локальный

+3

Это требует, чтобы иметь mod_headers.c. Попробуйте так: ' Header набор [your_options] ' – ZeroSuf3r

+0

То, что я должен написать в "your_options"? – user1123379

+0

Он изложил варианты, которые вы разместили до – MarkSmits

ответ

25

в WAMP сервер нажмите на Apache, Апач модули и нажмите (знак) на rewrite_module и перезапустить WAMP сервер ваша проблема решена

+1

Значок уже есть, и он все еще делает эту ошибку – user1123379

+14

Он работает, если я включаю 'headers_module'. – XP1

15

Как сказано в XP1, ответ на этот вопрос заключается в том, чтобы включить headers_module в WAMP.

Либо использовать интерфейс WAMP или добавить к вашему httpd.conf

LoadModule headers_module modules/mod_headers.so 
0

Я думаю, что для выполнения команд в файлы .htaccess переписывающегося модуль апача должен быть включен, но она отключена по умолчанию.

Если вы используете WAMP, тогда просто щелкните значок сервера Wamp на панели задач -> Apache -> Apache Modules. Это покажет вам список модулей. Затем прокрутите вниз, чтобы найти rewrite_module и нажмите на него. Когда вы нажмете на него, WAMP перезапустится с включенным rewrite_module.

Поэтому я думаю, что если вы активируете этот модуль, он может решить вашу проблему.

1

После многого поиска в WAMP модуль заголовков не включил модуль mod_headers. Вы можете включить mod_headers в файле httpd.conf. При запуске список модулей отображается, просто найдите mod_header и удалите # при запуске и перезапустите WAMP. Теперь модуль mod_headers будет включен и загружен.

1

Перейти к Wampmanger LeftClick, Apache Затем ApacheModules и проверка (rewrite_module) Перезапустите Apache, то это будет нормально

11

Если включение mod_headers не решить вашу проблему, то она была вызвана AddOutputFilterByType

Это может быть исправлено путем включения другого модуля, mod_filter.

Возможно, также полезно добавить код «ifModule», если параметры сервера когда-либо были сброшены или вы переносите проект на другой сервер. Это работает для меня:

<IfModule mod_filter.c> 
AddOutputFilterByType DEFLATE text/plain 
AddOutputFilterByType DEFLATE text/html 
AddOutputFilterByType DEFLATE text/xml 
AddOutputFilterByType DEFLATE text/css 
AddOutputFilterByType DEFLATE application/xml 
AddOutputFilterByType DEFLATE application/xhtml+xml 
AddOutputFilterByType DEFLATE application/rss+xml 
AddOutputFilterByType DEFLATE application/javascript 
AddOutputFilterByType DEFLATE application/x-javascript 
</IfModule> 
+3

включил модуль перезаписи, модуль заголовков и модуль фильтра, чтобы заставить его работать – jayadevkv

+0

Это работало для меня ... – Khan

1

Добавьте это и код должен работать нормально

<IfModule mod_expires.c> 
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> 
Header set Cache-Control "max-age=2628000, public" 
</filesMatch> 
</IfModule> 
+0

Я думаю, что это должно быть 'mod_headers.c' вместо' mod_expires.c', поскольку вы используете «Cache-Control: max-age ", а не кеширование" Истекает ". –