CGI-BBS > サーバ > Apache > cgi-binフォルダ以下でhtmlを表示


カレッヂ
カレッヂ


質問者 Line  投稿日 8/10(金) 12:12:05
cgi-bin以下のフォルダ内のhtmlを表示させようとすると
ForbidenもしくはInternalServerErrorがでてしまいます。
cgi-bin以下の権限なり許可設定をしてない(というかできてないんですが 汗)
為だと思うのですが、
解決策ご存知の方いらっしゃいましたら、よろしくお願いいたします。
回答者 いのちゃん  [削除]  投稿日 8/10(金) 14:11:15
>cgi-bin以下のフォルダ内のhtmlを表示させようとすると

サーバーの設定によってはcgi-binとpublic_htmlとに区別して設定を
するように条件付けられている場合があります。最終的にはサーバーの
設定条件を確認して頂ければと存じますが...。

一般的に区別した場合としては以下の階層図になります。もしこれが
該当するサーバーだとすればcig-binに.htmlを配置せずにpulic_htmlに
.htmlや.gifを配置したらどうなるでしょうか?

/cgi-bin/
    |--.cgi

/pulic_html/
    |--.html
    |--.gif
回答者 boy  [削除]  投稿日 8/10(金) 23:01:51
通常、cgi-bin等のCGIスクリプト(プログラム)が格納される
ディレクトリには、プログラム実行の権限しか与えません。
その為、ファイル自体を表示させる事は出来ません。
理由は、表示の権限を与えれば、それらの内容を見られる
可能性があるからです。
どうしても、cgi-bin内のhtmlファイルを表示させたいのなら、
ファイル転送をするCGIスクリプトを使用するしかないと思います。
質問者 Line  [削除]  投稿日 8/13(月) 10:55:30
回答ありがとございました。
プライベートLAN内のサーバで
EditorCGI使いたかったのですが、
ドキュメントフォルダを使うためには../フォルダ名付けなきゃだめだったので
めんどくさいなぁとか思ってたもので・・・
回答者 max  [削除]  投稿日 9/15(土) 03:03:49
本日アクセスしまして、すでに対応済みかもしれませんが参考までに。

httpd.confを修正するか、.htaccessに次のように書いて画像を置くディレクトリに入れておけば良いでしょう。
レンタルサーバーで共用の場合は難しいかもしれませんが、root権限有りの場合は以下の要領でAddHandler文を追加すれば可能です。
ただしそのファイルを覗かれる危険性があることに注意です。

/etc/httpd/conf/httpd.conf中でcgi-binのディレクトリに表示させたい拡張子を追加後Apacheをリスタートします。

<VirtualHost 212.105.21.188:80>
以下省略

ScriptAlias /cgi-bin/ /home/www/domain1/web/cgi-bin/
AddHandler text/html .html .htm .txt .css
</VirtualHost>

これで「html」「htm」「txt」「css」の拡張子がつくファイルも表示可能です。
.gifで画像も表示できます。

返信(回答)する


Web裏技