/public_html/aaaa/
以下に、.htacceseを入れSSIを使いました。
けれど、、、それ以来、普通に動いていたCGIが
/public_html/aaaa/cgi-bin/
パーミッションエラーと出るようになってしまいました(汗)
/public_html/cgi-bin/
ここに移動させても、やはりパーミッションエラーが・・・(汗)
これは、.htacceseが悪いのでしょうか?
それとも、SSIが悪さをしているのでしょうか(汗)
ちなみに、きちんとアップロードはアスキーだし、パーミッションも合わせています。

もしかすると、いったんアップロードしたCGIをバイナリで落とさずに、自動で落として、それをアップし直していることに問題があるのでしょうか!?

よろしければどなたかヒント(?)をください!

このQ&Aに関連する最新のQ&A

A 回答 (1件)

確認ですが、


/public_html/aaaa/
に.htaccessを設置したのですよね。
そして、
/public_html/cgi-bin/
でも、動かないとのことですよね。
でしたら、サーバーの設定かもしれません。
たまに、管理者の設定で/cgi-bin/以下では、動作しないようになっている場合があるそうです。(Apache)

1.CGIファイルのパーミッションを確認してください。
2./cgi-bin/の名前は使わない
3./public_html/以下の.htaccessに、

AddType text/html cgi
AddHandler cgi-script cgi
Options +ExecCGI +Includes

と記述してみる。
試してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました!
AddType text/html cgi
AddHandler cgi-script cgi
Options +ExecCGI +Includes
これで解決しました!

お礼日時:2002/01/10 03:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Aベストアンサー

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n";
open(GIF, "file.gif");
binmode(GIF); binmode(STDOUT);
print <GIF>; close(GIF);

もちろん、CGIからは画像フォーマットを返せばいいので、
ファイルから読まずにあらかじめCGIソース内に画像データ
を持っておいて出力する方法も可能です。


ちなみに、多くのCGIではHTMLコンテンツを返す場合が多い
ので、ヘッダは以下のようになります。

print "Content-type: text/html\n\n";

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n...
続きを読む

Qpublic_html外でCGIやPHPを動かすには?

WWWからは見ることのできないディレクトリpublic_htmlですがここにCGIやPHPを置き、動かすことは可能でしょうか?

実際に試しましたが動いてくれませんでした。

動かせるのでしたら稼動方法などを教えていただけると幸いです。

Aベストアンサー

Intel_404さんこんにちは

動かす(実行する)というのはブラウザ以外からということでしょうか?

通常公開ディレクトリというのがあり、一般にブラウザでアクセスできるデータの格納場所になります。
Intel_404さんがお借りのレンタルサーバーの公開ディレクトリの名前が「public_html」だと思います。
「public_html」以外に設置した場合、ブラウザからのアクセスはできないので、そのほかの実行方法をとることになります。

ちなみにどうして「public_html」以外に設置したいか教えていただければ、他の方法で目的を達成できるかも知れません。

QSSI対応じゃないCGIをSSI対応に…

ホームページに更新記録CGIを設置しているところです。
それ自体はIFRAMEでページに表示させるタイプで、現在ちゃんと動作しています。
しかし1つ問題が…ちょっとページデザインを換えようと思っているのです。
素材配布ページなんですけど、上に一覧の入り口を表で作り、その表の幅を600に設定しました。
その下に同じようなデザインで更新記録CGIをIFRAME表示させようとしました。
しかし、なぜか微妙に左にずれています。更新記録CGIの表はもちろん600に設定しています。IFRAMEの方はスクロールバー分ずれるだろうと思いちょっと広め(680)にして、IFRAME自体はセンターへ、中の表示も中央に設定しました。でも、ずれてしまいます。
この方法をどうにかする方法があればうれしいのですが、どうせならSSIで表示できないかと考えました。これだとセンター表示されるのでは?でも、スクロールはどうなるのかな…際限なく(CGIの表示設定数)表示されるんですかね。
で、現在使っている物がSSI対応じゃないCGIのようです。これをSSI表示させることは可能でしょうか?
サーバのほうは、SSI表示OKでした。
私自身はCGIを0から作ることは出来ませんが、ある程度の改造をすることは可能です。私が出来る(理解できる)かどうかは逐一答えて行きたいと思っています。
何か良い方法がありましたら教えてください。

ホームページに更新記録CGIを設置しているところです。
それ自体はIFRAMEでページに表示させるタイプで、現在ちゃんと動作しています。
しかし1つ問題が…ちょっとページデザインを換えようと思っているのです。
素材配布ページなんですけど、上に一覧の入り口を表で作り、その表の幅を600に設定しました。
その下に同じようなデザインで更新記録CGIをIFRAME表示させようとしました。
しかし、なぜか微妙に左にずれています。更新記録CGIの表はもちろん600に設定しています。IFRAMEの方はスクロールバー分ずれ...続きを読む

Aベストアンサー

> htmlになんと書けばいいのですか?

<!--#exec cmd="プログラムのパス"-->

↑これを書いたところに、プログラムから出力される文字が表示されます。

ただ、SSI対応のサーバでは、ファイル名を ○○.html ではなく、
○○.shtml にしなければならない場合がありますので
その辺りはパーミッション云々も含めて、
サーバの設定に従ってください。

インクルードされるプログラムの方は ○○.cgi でも動く場合がありますし、
○○.pl にしないと動かない場合もあります。
その辺もサーバの設定で。


> 何か法則があるのなら…と思って質問してみました。

print "Content-type: text/html;\n\n";

↑これを削除する理由は、
HTML側ですでに、text/htmlが出力されることになっているからです。

なので、この文章は要らない、という意味で、1行かどうかは分かりません。
2、3行あったら全部削除して下さい。(笑

QCGIの代わりにそこにSSIを使ったHTMLファイル(*.shmtl)を表示

こんにちは。
infoseekのサービスを使ってサイトを作成しています。

インラインフレームの中にCGIを組み込んで使おうと思っているのですが、CGIを表示させると広告が倍に増えてしまい(上下2つだったものが、全部で4つになってしまう)悩んでいます。
infoseekのスタッフの方に問い合わせてみた所、インラインフレーム内のCGI部分の広告を消す事は可能で、規約違反にもならないとの事でしたが、
「CGIの代わりにそこにSSIを使ったHTMLファイル(*.shmtl)を表示させる」というやり方が
どうしてもわからなくて困っています。

CGIについてはまだまだ勉強中で、やっと自分で設置ができるようになった程度のレベルです。
回答どうぞよろしくお願いいたします。

Aベストアンサー

<!--#exec cgi="xx.cgi" -->
こんな感じに置き換えてあげればいいのかな?
SSIの書式で、CGIを呼び出します。
やってみてください。
SSIそのものは、CGIのようにサーバ側で処理を施すのですが、違いは、置き換えという考え方で動くことです。したがって、CGIのように繰り返しなんかはできません。条件分(if文)ぐらいかな?つかえるのは・・

参考まで、こちらを・・。
http://tohoho.wakusei.ne.jp/wwwssi.htm

Q/usr/local/bin/perl の発音

あまりにも初歩の質問かもしれませんが、
/usr/local/bin/perl
・・・を、声に出すとすると、
/ユーザー/ローカル/ビン/パール
・・・で、良いのでしょうか?

Aベストアンサー

新版 UNIX 由来/読み方辞書
http://x68000.q-e-d.net/~68user/unix/unix-term-dic.html


このカテゴリの人気Q&Aランキング

おすすめ情報