- 締切済み
ApacheでCGI以外のデータも全部表示可能にしたい
ローカルサーバーとしてApacheを使っています。 CGIの動作ディレクトリをルートディレクトリ以下(localhost以下)に設定していて、それでCGIは動くのですが他のファイルにアクセスできません。AddHandlerの行にファイルタイプを追加することで対処可能だと聞きましたが、1つずつ設定するのではなく一括で全部のファイルにアクセスできるようにはできませんでしょうか?WWWサーバーとして使うわけではないのでセキュリティの問題は無視してくださって結構です。 あともうひとつ質問です。通常のウェブサイトではアドレスを「hoge/」のようにスラッシュ(/)で終えた場合、そのディレクトリにindex.htmlがあればそれを表示するようになっています。僕が使っているApacheもそうだったのですが、上で設定したディレクトリ(localhost)以下へアクセスする際、スラッシュで終えると403エラーが出てしまいます。アドレスをきちんと「/index.html」まで打てばアクセスできるようになりますが、ちょっと面倒です。せっかく今までは省略できたのに(ルートディレクトリに置いたcgi-binディレクトリ以下をCGI動作ディレクトリに設定していて、それを今回変えたのです)。今までどおりにアドレスを省略できるようにするにはどう設定すればよいのでしょうか? どうか宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- php504
- ベストアンサー率42% (926/2160)
ScriptAlias ではなく Options のExecCGIでCGIを実行するようにしたらいいと思います。 httpd.conf------------------ DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs" ・ #ドキュメントルートのディレクトリでOptionsにExecCGIを追加 <Directory "C:/Program Files/Apache Group/Apache2/htdocs"> Options FollowSymLinks ExecCGI ・ #ファイル名省略時に表示するファイルをここに追加 DirectoryIndex index.html index.cgi ・ #ScriptAlias ~~ この行は先頭に#をつけてコメントにします ・ #CGIとして実行するファイルタイプを指定 AddHandler cgi-script .cgi -----------------
補足
回答ありがとうございます。 申し訳ありませんが、それぞれ該当する行番号を教えていただけませんでしょうか? それらしい行がいくつかあってそれか分からないので・・・どうかよろしくお願いします。