CGIの実験環境としてApachをC:\にインストールして、http.confを編集(ユーザーデレクトリの変更、サーバー名の設定、CGIの許可)を行いました。
そしてApachを起動させるとrunning...と出て動作はしています。
テスト用のHTML(index.html)をC:\Apach\testの中に入れて、ブラウザでアドレス部分をhttp://127.0.01/^test/としてもindex.htmlが表示されず、ページが
見つかりませんと出てしまいます。どこの設定が悪いのでしょうか?

接続はLANを使用にしてあります。
ローカルループバックもMsDosからping127.0.0.1と打ち込むと動作表示され問題
なさそうです。
perlの場所はC:\usr\local\binです。

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

A 回答 (5件)

にょろのことを「チルダ」とかいうと専門家っぽくなりますか?



で、あれはユーザ名の前につけるとそのユーザのホームディレクトリ
の下のpublic_htmlを指すようになる、という意味ですね(もちろん
httpd.confでいかようにも設定可能ですが)。
UNIX環境では便利ですが、通常ユーザひとりでつかうWindowsだと
あまりうれしくないですね。
ちなみにAUTOEXEC.BATでset HOME=C:\mynameなんてして
おくと、~mynameがそこを指すようにできたような…(これは
Muleでの話でApacheでは参照してくれなかったかな?未確認)
まあ、その問題は、「Apach」だったり「127.0.01」だったり
してますので、akoochanさんが急いで書いただけの理由かも
しれませんよ。

で本題ですが、httpd.confに設定されているDocumentRoot、
たいていApacheをインストールしたディレクトリの下に
あるhtdocsになっていると思いますが、そこが
http://127.0.0.1/ になります。

ですから、たぶん以下の方法で解決するんじゃないでしょうか。
1 testをそのDocumentRootで指定されているディレクトリ
  の下に移動させる。
2 DocumentRootを、そのtestの上のディレクトリになる
  よう設定(つまりC:\Apachに変更)し、サーバを起動し
  なおす(gracefulかrestart)。
3 DocumentRoot以外のディレクトリをhttpdに参照できる
  ようにするため、AliasでC:\Apach\testを設定する。

あと、どうしても「^test」でアクセスしたいなら「^test」という
ディレクトリ名にする(できるかどうか知りませんが)という方法
もあるかもしれません。:-)
    • good
    • 0

>shigatsuさんへ


「にょろ」がいるのかどうか全く知らないです。
Apachなんて使ったことも見たことも食べたこともないですし。
質問を見て自分なりにアドバイスしてみただけなんです。
(その証拠に自信なしにチェックが・・・)
でも「はっと」では無いなと思ったんですよね。
僕の思ったとことと、shigatsuさんの連鎖書き込みで
akoochyanさんの問題が解決すればいいですね。
    • good
    • 0

にょろ 要りましたっけ?うちでは一切付けずに問題なく動いてますが・・・


当然 C:\Apach\test は正しくhttp.confに設定されているんですよね?

確か にょろ はユーザ名を表す時に使いますよね?通常のディレクトリなら必要ないと思うんですけど。
うちの環境では
Alias /test "d:/test"
http://127.0.0.1/test/ が問題なく表示されています。
    • good
    • 0

一言だけ


http://127.0.01/^test/
は「~(にょろ)」が「^(はっと)」になってますが、
もしかしたらその間違いだけかもしれません。
まあここに書くときに間違えたのかもしれませんが・・・。
    • good
    • 0

DocumentRootは書き換えた?

    • good
    • 0

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

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

Qhttp://www.test.cgi/index などのCGI名のあとのパス名

http://www.test.cgi/index
のようになっているものを見かけるときがあります。普段は
http://www.test.cgi?mode=index
などしているのですが、どのような仕組みになっているのでしょうか?
これはPerlに限らず、CGIとして動作するものなら実装できるのでしょうか?
疑問に思ってしまったので、ご回答のほどをよろしくお願いします。

Aベストアンサー

PATH_INFOと呼ばれる情報です。Perl/CGIであれば環境変数の$ENV{'PATH_INFO'}で取得する事が出来ます。クエリー(?xxx)が$ENV{'QUERY_STRING'}で取得出来る事と同じ要領です。組み合わせてtest.cgi/path/info?query=stringのようにする事も出来ます。(それぞれ上記の環境変数で別々に取り出せます。)

他の言語に関しても取得出来ます。言語名とPATH_INFOで検索をかけてみてください。(例えば『php path_info』等)

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...
続きを読む

QCGI用、空っぽのindex.htmlの中身

セキュリティ効果で
CGIディレクトリ内に空っぽのindexを置きましたが
<HTML></HTML>
だけですので、なんとなく中身を書いた方がいいかなと思いますが
何を書いたらいいかわかりません。ダミーって事は知っています。
何かアイデアありますか?

Aベストアンサー

「エラーページテンプレート」で検索するのがよろしいかと。

QCGI(HTTP://dbgw_relay.cgi)の呼び出しができま

CGI(HTTP://dbgw_relay.cgi)の呼び出しができませんでした。
サーバーへ接続できませんでした。リモート名を解決できませんでした:'dbgw_relay.cgi'

ホームページビルダーで作ったページに買い物かご(ダヴィンチカート)を設定したいのですが、ショッピングカートを設置するサーバを設定する段階で上記のエラーになってしまいます。これはどうしたら解決できるのでしょうか。どなたかご教示お願いいたします。(ちなみに初心者です)

Aベストアンサー

http://www.netdeoshigoto.com/nso_support/2008/02/cgihttpdbgw_relaycgi404.html

最低限 FAQ くらいは目を通してから質問するべきだと思うんだ

Qhttp://***.cgi?key=$keyの部分について

<a href='***.cgi?key=$key'>リンク</A>

とすると、

http://**.cgi?key=*****
というリンクがアドレスバーに表示されて、次のページへ進みますよね。

この、cgiの後の部分(?key=****)を表示しない方法というのはありますか?
POSTでやれば表示されませんが、ボタンばっかりだとすっきりしないので…。

Perlでかいています。

Aベストアンサー

ボタンだとすっきりしないというのが見た目の問題ならば、スタイルシートでボタンをテキストリンク風な表示にすることもできますが、それでは不都合があるでしょうか?
なお、どのようなCGIかはわかりませんが、getで問題ない部分はgetにしておいた方が直接urlを表記したい場合に使い勝手がいい場合もあります。
(例えばgoogleの検索がpostだったら、かなり使い勝手が悪くなりますね。)


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

おすすめ情報