2014-10-28 24 views
-4

最近,我爲自己運行小型本地主機,但是當我編寫CGI文件或HTML文件時,它會顯示除圖像以外的所有內容。每個人都知道發生了什麼,我該做什麼?CGI或HTML文件上的圖像

+1

沒有足夠的信息給你答案。我可以建議你包括一些示例文本,以及一些指向不工作圖像的鏈接嗎?最可能的原因是路徑和權限。 – Sobrique 2014-10-28 16:59:54

+0

我的一部分代碼如下:#!/ usr/bin/perl use strict; 使用警告; 使用CGI qw /:standard /; 使用DBI; print「Content-type:text/html \ n \ n」; print first(); print myform(); print second(); sub myform { return << B;

和我的圖片路徑是pubic_html/cgi-bin/images和我的文件在pubic_html/cgi-bin – maryou 2014-10-28 17:28:26

+1

請修改您的問題以包括您網站服務器的任何錯誤錯誤日誌。 – ThisSuitIsBlackNot 2014-10-28 19:58:37

回答

1

不可能回答,因爲您沒有給我們足夠的信息。但是你的代碼確實給出了一個潛在的線索。

use CGI qw/:standard/; 
use DBI; 

print "Content-type:text/html\n\n"; 
print first(); 
print myform(); 
print second(); 

sub myform { 
    return <<B; 
<form action='' method='post'> 
    <img src="images/img0001.gif" id="Shape1" align="top" alt="" title="" border="0" 
     width="1344" height="126"> 
    ... 
</form> 
B 
} 

您嘗試從images/img0001.gif提供圖片。但是這與當前目錄相關 - 當執行此代碼時,幾乎可以肯定是/cgi-bin。並且大多數Web服務器都已配置爲使得/cgi-bin下的任何文件都被假定爲CGI程序。

所以我猜你的網絡服務器試圖執行你的圖像文件。哪個不行。 Web服務器錯誤日誌中包含什麼內容?

移動/cgi-bin目錄中的任何靜態文件(html,圖像,css)。

+0

感謝戴夫的迴應。我將圖像目錄轉移到上層文件夾中,並將路徑包含在我的鱈魚中(src =「../../images/logo.jpg」),但沒有影響。也有限制發送給你所有的代碼,但是,沒關係。如果它甚至會包含一行代碼,如「Hello World」程序幷包含圖片。它只顯示「Hello world」而不是圖像。可能問題將在apache2配置? – maryou 2014-10-29 16:28:05

+0

爲什麼不使用''?你在Web服務器錯誤日誌中得到了什麼? – 2014-10-29 16:30:56

+0

它不起作用。我把我的圖像文件夾放在主目錄和public_html文件夾之外,它不起作用。 – maryou 2014-10-29 17:06:31

0

最後我的問題解決了。由於我的cgi-bin文件夾位於home/username/public_html中,因此我將我的images文件夾放在主目錄中。但是,當我將我的圖像保存在var/www /中時,一切都得到了糾正。