ApacheのDirectoryIndexについて質問です。index.htmlはURLの最後が”/”で読み込んでくれるのですが、index.htmlがない場合にindex.cgiを読みに行ってくれません。(403エラーが発生します)

DirectoryIndex index.html index.cgi
DirectoryIndex index.html /cgi-bin/index.cgi
の両方で試しましたがうまくいきませんでした。
何か他に設定が必要なのでしょうか?(もちろん権限は755を付与しています)
ディレクトリ構成は以下の通りです。
htdocs/index.html
htdocs/cgi-bin/index.cgi
よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/07/04 00:05:27
  • 終了:--

回答(4件)

id:stnet No.1

stnet回答回数804ベストアンサー獲得回数342005/07/04 00:13:11

ポイント10pt

http://www.shtml.jp/htaccess/directoryindex.html

index.cgiやindex.phpをトップページにする方法

htaccessの設定が必要かと

id:stray_sheep

ありがとうございます。

うーん、.htaccessで設定しても無理でした。

httpd.confファイルを編集できるので出来ればこちらで行う方法を探しております。

2005/07/04 01:19:49
id:o_ob No.2

o_ob回答回数33ベストアンサー獲得回数02005/07/04 00:26:27

ポイント10pt

http://y-kit.jp/saba/xp/perlsetup.htm

自宅サーバー(Windows+Apache)へのPerlインストール

ディレクトリインデックスにCGIを登録しましたか?


上記URLで同様の設定をしているようなので参考になると思います。

一度閲覧してみてください。

id:stray_sheep

ありがとうございます。

はい、質問にも書いたとおり、

DirectoryIndex index.html index.cgi

DirectoryIndex index.html /cgi-bin/index.cgi

の2通りで試してみましたがエラーが出てしまいました。

2005/07/04 01:22:04
id:chatoraneko No.3

chatoraneko回答回数221ベストアンサー獲得回数02005/07/04 00:37:29

ポイント20pt

http://www.rfs.jp/server/apache/01/02.html

httpd.confの設定  Apache講座 +++[smart]

エラーログがあれば参考になると思うので教えてください。


http://hogehoge/index.cgiではエラーにならないのでしょうか。

index.cgiのpathは

/cgi-bin/index.cgi

で合っていますか?


.htaccessが使用可能であれば

index.cgiをドキュメントディレクトリ直下におき

.htaccessを下記のように編集して

Options +ExecCGI

http://hogehoge/

でアクセスしてみてください。

id:stray_sheep

ありがとうございます。

http://hogehoge/index.cgiはエラーが発生。

http://hogehoge/cgi-bin/index.cgiは正常にスクリプトが実行されます。

エラーログは下記の通りです。

DirectoryIndex index.html /cgi-bin/index.cgiの時、

http://hogehoge/にアクセス

Directory index forbidden by rule: /.../htdocs/hogehoge/

http://hogehoge/cgi-bin/にアクセス

attempt to invoke directory as script: /.../htdocs/hogehoge/cgi-bin/

.htaccessの方法ですが、index.cgiをドキュメント直下におくことで一応動作は確認できました。

ただ、.htaccessを使わないこととスクリプトとドキュメントファイルは分離する方向で解決方法を探しております。

もし、何か解りましたらよろしくお願いします。

2005/07/04 02:18:58
id:Natas No.4

Sing Do回答回数15ベストアンサー獲得回数02005/07/04 17:22:09

ポイント50pt

DirectoryIndex index.html /cgi-bin/index.cgi

と設定すると,index.htmlがない場合ScriptAliasで設定された/cgi-bin/ディレクトリ以下のindex.cgiを読みに行っているのではないでしょうか?

そこで,/cgi-bin/index.cgi を cgi-bin/index.cgi にすれば htdocs以下のcgi-bin/index.cgiを読みに行くことができると思うのですが…

確証がないため参考意見ということでポイントは割り振らなくて良いです.

id:stray_sheep

できましたー。ありがとうございます。

説明不足にもかかわらずScriptAliasを疑っていただいてありがとうございます。

確かにその通りでした。ちょっと深い階層だったのでサーバールート直下のcgi-binを指定してしまっているとは迂闊でした。

ポイントのお礼はちゃんとさせていただきます。

2005/07/04 23:52:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません