症例 2-3:中身(ソース)が表示される
 (CGI設置時に関するトラブル)

[←前に戻る | ↑症例一覧 ]

スクリプトが実行されず、中身(ソース)が表示される

または、CGIスクリプトがそのままダウンロード状態になってしまう。
この場合、サーバー側が対象ファイルをCGIファイルとして認識していないことが考えられます。
以下のようなことが考えられます。

CGIを実行するディレクトリ内に所定の「.htaccessファイル」を
設置していないプロバイダーでは、「.CGI」を置くディレクトリの中に
.htaccessファイル」を置かなければならない場合があります。
.htaccessファイル」とは、UNIXサーバー上に置く「設定ファイル」のようなものです。
「.htaccess」という名前のファイルをCGIを設置するディレクトリに
置かなければならない。「.CGI」という拡張子のファイルをCGIファイルと
認識させるために以下のように記述します。

AddType application/x-httpd-cgi.cgi

この時注意することは、メモ帳などのエディタで上記の一行を記述した後、
最後に必ず「改行」をして保存してください。
その後、「アスキーモード」でFTP転送し、所定のディレクトリ内に置きます。
また、ファイル名がピリオドで始まっているので、エディタで保存する時や、
FTP転送できないなどの場合は、「htaccess.txt」という名前等で保存し
転送後にディレクトリ内でファイル名を変更してください。

CGIを実行するように、そのサーバー自体、またはそのディレクトリ内が
設定されていない場合は、CGIの使用はできません。
CGIを実行するディレクトリが決められている場合は
定められたディレクトリ内にCGIスクリプトを置く必要があります。

CGIスクリプトの拡張子(.CGIなど)が、CGIファイルとして設定されていない。
この場合、ファイル名を所定の拡張子(.plなど)に変更する必要があります。
プロバイダーのサーバーがWindowsNT(サーバソフトがIISの場合)サーバの
場合に多く見られます。
拡張子を変更する場合CGIファイルを右クリックし、[名前の変更]で「CGI」を「pl」に。
次にファイルをエディタで開き、[スクリプト名]を「xxx.cgi」から「xxx.pj」に変更します。


SSIが動きません

htmlファイルにSSIを記述する場合、ファイルの拡張子を「shtml」にする必要があります。
suExecの影響により、shtmlファイルより上位のディレクトリにあるファイルを、
参照することができなくなるといった不具合がありますのでご注意ください。



[←前に戻る | ↑症例一覧 ]