我有一個 Apache Web 伺服器,其中有一個圖像子資料夾。由於某種原因,一些 .png 檔案會傳回為 text/html 而不是 image/png。
沒有任何跡象表明存在權限問題,且檔案傳回代碼為 200 並具有完整大小。我確保設定了 image/png 甚至嘗試使用 .htaccess 強制它
知道下一步該去哪裡嗎?
編輯:看起來像是父目錄上的 .htaccess 配置問題。
答案1
您確定 png 檔案是有效的圖片檔案嗎?如果您使用的是 Linux 平台,您可以嘗試 file 指令
file somefile.png
該命令應該會傳回類似以下內容的內容
PNG image data, 318 x 15, 8-bit/color RGB, non-interlaced
您也可以嘗試使用影像檢視器檢視該檔案。
答案2
對我來說,問題是要傳遞的圖像檔案被命名為pear.php.net-sos8j3lis2j.png
.
阿帕契的AddHandler
指令- 用於將 PHP 解釋器分配給 .php 檔案 - 支持多個擴充,並被pear.php.net.png
視為具有三個擴展名:.php
、.net
和.png
。.php
首先,對 php 解釋器進行了呼叫。
text/html
然後由 apache 或 PHP 發送出去,我不知道。
我必須做什麼來解決這個問題:
替換所有實例
AddHandler php-cgi .php
和
<FilesMatch \.php$>
SetHandler php-cgi
</FilesMatch>
答案3
也許尋找 .png、.PNG、.pNG 和 .PNg。