人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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
よろしくお願いします。

●質問者: stray_sheep
●カテゴリ:コンピュータ
✍キーワード:403 Apache CGI HTML INDEX
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● stnet
●10ポイント

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

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

htaccessの設定が必要かと

◎質問者からの返答

ありがとうございます。

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

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


2 ● o_ob
●10ポイント

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

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

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


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

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

◎質問者からの返答

ありがとうございます。

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

DirectoryIndex index.html index.cgi

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

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


3 ● chatoraneko
●20ポイント

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/

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

◎質問者からの返答

ありがとうございます。

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を使わないこととスクリプトとドキュメントファイルは分離する方向で解決方法を探しております。

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


4 ● Sing Do
●50ポイント

http://httpd.apache.org/docs-2.0/ja/mod/mod_dir.html#directoryin...

mod_dir - Apache HTTP ??????

http://httpd.apache.org/docs-2.0/ja/mod/mod_alias.html#scriptali...

mod_alias - Apache HTTP ??????

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を読みに行くことができると思うのですが…

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

◎質問者からの返答

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ