Categories
apache caching garbage javascript

Apache caching javascript assets?

Not so long ago I was having trouble with javascript assets. When I made changes to them they wouldn’t take effect and the file would become invalid javascript (firebug throwing errors and warnings).

I noticed that my changes weren’t appearing and special characters were being added to the end of the file. A bit more digging and I noticed that the special characters were exactly the number of characters of my edits.

Original code:

$(document).ready(function(){
alert('what');
});

Adding a line, should looks like this:

$(document).ready(function(){
alert('what');
alert("what's going on?!);
});

Renders like this:

$(document).ready(function(){
alert('what');
});��������������������������

When I researched I found that modifying apache config’s /etc/httpd/conf/httpd.conf and commenting out EnableSendfile off fixed the issue.

However…

Now the issue has returned, but apache config hasn’t changed.

Please help. My current work around is renaming the file, viewing the new file and naming it back; this annoys me tremendously.

I’m developing on a vagrant box, CentOS 6, PHP 5.3/apache 2 – the original solution can be found here: Shared folder in VirtualBox for Apache.

Unfortunately this no longer seems to work.