Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.htaccess 500 internal server error when set ExpiresActive

Tags:

.htaccess

In my .htaccess I have this code:

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|txt|html|x-html|php|css|xml|js|woff|ttf|svg|eot)(\.gz)?$">
ExpiresActive On
Header set Expires "Sun, 27 May 2012 00:00:00 GMT"
Header unset ETag
FileETag None
</FilesMatch>

It seems to work perfectly on some servers, but not on one of my websites. I get a 500 Internal Server Error. Is there anything wrong in the config, or do I have to contact my host?

like image 998
Luke Avatar asked Jul 01 '11 16:07

Luke


1 Answers

Ensure that you have these Apache modules enabled and loaded:

  • ExpiresActive -- mod_expires
  • Header -- mod_headers

Try this instead (it will only use directives if corresponding module is present):

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|txt|html|x-html|php|css|xml|js|woff|ttf|svg|eot)(\.gz)?$">
    <IfModule mod_expires.c>
        ExpiresActive On
    </IfModule>
    <IfModule mod_headers.c>
        Header set Expires "Sun, 27 May 2012 00:00:00 GMT"
        Header unset ETag
    </IfModule>
    FileETag None
</FilesMatch>
like image 119
LazyOne Avatar answered Oct 15 '22 16:10

LazyOne