呼叫CGI產生HTTP 404錯誤 - Linux

Jessica avatar
By Jessica
at 2008-07-22T15:34

Table of Contents

※ 引述《collin2315 (梭哈!)》之銘言:
: 最近在學習HTML呼叫Perl程式 從網路上將一HTML網頁建立於/var/www/html/WSRR中
: HTML如下:
: <HTML>
: <HEAD>
: <TITLE>Test</TITLE>
: </HEAD>
: <BODY>
: <form action="../../cgi-bin/test.pl" method='POST'>
: <input type=text name=test>
: <input type=submit value='Send'>
: </form>
: </BODY>
: </HTML>
: 呼叫位於/var/www/cgi-bin的test.pl程式

想請教一下,您的 apache (或 apache2) 的設定如何?
通常沒有特別指定的話, 預設通常不會在 /var/www/cgi-bin
可否檢查一下您的設定檔裡有沒有以下的敍述

ScriptAlias /cgi-bin/ /xxx/xxx/cgi-bin/

我灌好 apache2 時的預設值是

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

有了這一行設定, 一旦網頁導到 /cgi-bin/ 時, 會自動導到 /usr/lib/cgi-bin/

附帶一提的是, 如果你要設定 /var/www/cgi-bin/ 成為可執行 CGI 的資料夾,
必須要把該資料夾的 CGI 權限打開, 例如, 在您的 apache 設定檔裡,

<Directory "/var/www/cgi-bin/">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

** ExecCGI 必須為 Options 的其中之一

: test.pl如下
: #!perl
: print "content-type:text/html","\n\n";
: if ($ENV{'REQUEST_METHOD'} eq 'GET')
: {
: $querry=$ENV{'QUERY_STRING'};
: }
: elsif($ENV{'REQUEST_METHOD'} eq 'POST')
: {
: read(STDIN, $querry, $ENV{'CONTENT_LENGTH'} );
: }
: @querry=split(/&/,$querry);
: foreach $pair (@querry)
: {
: ($name,$value)=split(/=/,$pair);
: $value=~s/\+//g;
: $value=~s/%0D%0A/<br>/g;
: $value=~s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;
: $FORM{$name}=$value;
: }
: $testvalue=$FORM{'test'};
: 開啟網頁並鍵入文字時,卻產生HTTP 404的錯誤
: (一開始為HTTP 500的錯誤,後來修改程式與chmod 755後變成404)

404 表示所指向的內容不存在, 因此我認為 test.pl 沒有被讀取

: 另外,在/var/www/cgi-bin中產生一txt做測試也無法直接從IE開啟
: (ex: http://ip/cgi-bin/test.txt)
: 想請問各位前輩我該如何解決? 謝謝回覆
: PS: OS是CentOS release 5 (Final)



--
Tags: Linux

All Comments

Fedora 7 kernel source code~

Andrew avatar
By Andrew
at 2008-07-22T15:01
※ 引述《KempspeeD (坎普)》之銘言: : 請問一下在 Fedora Core 7下 : 要如找到他的 kernel source code? yum install yum-utils yumdownloader --source kernel 這樣就會抓kernel.src.rpm下來 再安 ...

我如果重灌XP為LINUX,那我D槽裡的東西 …

Blanche avatar
By Blanche
at 2008-07-22T15:00
※ 引述《Nephom.bbsatNO.bbs.ndfnet.tw.SPAM (忍法 土遁之術)》之銘言: : 你需要的是對磁區切割做更詳細的認識 : ※ 引述《aspdoctor.bbsatptt.cc (大崎)》之銘言: : andgt; 我現在使用XP作為我的作業系統,但是目前很想改為LINUX : a ...

NFS on XP

Oscar avatar
By Oscar
at 2008-07-22T14:28
我有一台電腦安裝了Ubuntu 7.10,上面有裝vmware server,guest OS是Windows XP。 我現在想要用NFS來讓guest 和 host OS互相共用檔案,我在Windows底下試過了 SFU 3.5和 nfsaxe,但是都掛載失敗。SFU底下的NFS client辨識不出從 ...

Fedora 7 kernel source code~

Lily avatar
By Lily
at 2008-07-22T12:25
請問一下在 Fedora Core 7下 要如找到他的 kernel source code? 進而去進行編輯呢? 本來在舊的fc4中放kernel code的路徑 FC7都只有Makefile檔之類的 網路上找到的資料大多都在討論kernel 2.6.1x以前的版本 ..... 感謝!! - ...

make的問題...

Candice avatar
By Candice
at 2008-07-22T12:23
※ 引述《onionys (.)》之銘言: : 我在ubuntu 8.04 系統裡面執行make這個指令。 : 但是出現下列訊息: : gcc -o csss csss.c -lm : csss.c:11:19: 錯誤: stdio.h: 沒有此一檔案或目錄 : csss.c:12:18: 錯誤: math. ...