2012-07-20 85 views
2

我有一个带有LAMP堆栈的Ubuntu服务器。我有一些JavaScript中有一个PHP包括它。.js.php文件扩展名添加到文件末尾的奇怪字符

过去一年的代码一直很好,但现在有一个奇怪的集浏览器中查看时,在结尾出现的字符:

这似乎是连接到。 js.php文件扩展名。我可以简化它归结为:

在记事本+ +它表明,有一些额外的字符实际上有:

enter image description here

它不是一个标准的PHP双头呆支架<可能合理。

寻找'.js.php'或Google中的角色是非常没有用的,所以我完全被困住了。

+0

请*下载*(在浏览器中查看)http://example.com/test.php并查看比较记事本++。另请检查文件大小和字节的两个和后。 (我怀疑他们都是一样的,但不同的解释作为text/html或text/js使他们显得不同) – 2012-07-20 15:37:59

+0

字符集问题? – RichardW11 2012-07-20 16:11:18

+0

从浏览器为test.php下载的源视图只包含测试,没有别的。 test.php和test.js.php的文件大小是5个字节。如果您将test.js.php重命名为test.xx.php或test.js,那么它只会在浏览器源视图中显示'test'。 – icc97 2012-07-20 17:38:11

回答

3

我也有这个问题。这个问题似乎是由服务器错误地回应响应引起的。 (当然有mod_deflate)。

通过的.htaccess禁用mod_deflate模块解决了这个问题对我来说 - 请注意,你可以做这样的事情每个文件类型禁用:

SetEnvIfNoCase Request_URI \.*\.js\.php$ no-gzip dont-vary 

奇怪的是,我有两个推测相同的Ubuntu的虚拟机 - 一个这里的一切完美运行,还有一个我需要禁用mod_deflate的地方。如果任何人都可以弄清楚为什么会发生这种情况,我很有兴趣知道!

+0

是的,这是有道理的,我确实有mod_deflate。我会在今天测试它,并检查它是否解决了问题,然后将其作为接受的答案。我没有对apache配置进行任何修改 - 虽然我的Plesk升级了大部分Plesk安装,但它绝对不是apache安装的变化。它发生在Ubuntu 10.04上,如果有帮助的话。 – icc97 2012-08-01 16:13:59