2012-07-20 164 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