- 締切済み
apacheの設定?
FreeBSD+Apache1.3.27+PHP3系でWebサーバを運用しております。 ドキュメントルートに、hogehoge.phpというファイルを置くと、 http://www.XX*.jp/hogehoge.php の動作は問題ないのですが、下記全てで同じページが表示されるようです。 http://www.XX*.jp/hogehoge http://www.XX*.jp/hogehoge/ http://www.XX*.jp/hogehoge/index.php 特に問題はないのですが、これはどのような理由でしょうか?関係しているモジュールやapacheの設定部分を知りたいと思います。 よろしくお願いいたします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- shuyamakawa
- ベストアンサー率67% (111/164)
mod_dirの機能だと思います。
- nihon_no_samurai
- ベストアンサー率20% (5/24)
http://www.XX*.jp/hogehoge/index.php のページを開くとどのURLのページが開くのでしょうか? http://www.XX*.jp/hogehoge.phpが開くということでしょうか?
補足
その通りです。お心当たりありますでしょうか?
- nihon_no_samurai
- ベストアンサー率20% (5/24)
hogehogeディレクトリが無くて同じファイルが表示されるとしたら あと考えられるのは404(File Not Found)のエラーで どこかのファイルが指定されているとかだと思いますが。 デフォルトでは以下のような感じになっていると思います。 httpd.confを確認してみてください。 ErrorDocument 404 /missing.html
補足
ご指摘いただいた設定はしておらず、存在しないURLを開くと404 NotFoundのデフォルト画面が表示されました。
- nihon_no_samurai
- ベストアンサー率20% (5/24)
基本的なことですがファイルの中でリダイレクトしているとかは 無いですよね。 http://www.XX*.jp/hogehoge.php http://www.XX*.jp/hogehoge/index.php 上記の2つは同じ表示がされるのですか?
補足
全く同じ内容です。hogehoge.phpを更新すると他にも反映されています。 ちなみにこの現象は「hogehoge.php」に限らず、「foo.php」でも「bar.php」でも全く同じ現象が起きます。
- yambejp
- ベストアンサー率51% (3827/7415)
余談ですが、PHP3系はメンテナンスがあまりされてない (サポート終了?)ようで、PHPはたまに 重大なバグがみつかりますので、せめて4系への 移項をなさったほうがよろしいかとおもいます。
お礼
ご指摘ありがとうございます。 phpの開発をしているのが他社のためこちらでバージョン指定できないのがつらいところです。
- nihon_no_samurai
- ベストアンサー率20% (5/24)
なんか””ってのが入ってしまいました。。。 これは無視してください。
- nihon_no_samurai
- ベストアンサー率20% (5/24)
http://www.XX*.jp/hogehoge.php →これはhogehoge.phpファイルへのアクセスです。 http://www.XX*.jp/hogehoge/index.php →これはhogehogeディレクトリ内のindex.phpへのアクセスです。 http://www.XX*.jp/hogehoge http://www.XX*.jp/hogehoge/ →これは両方ともhogehogeディレクトリへのアクセスとなります。 ファイル名が指定されていないので、サーバ側で設定されている 規定のファイル名(この場合はindex.php)へのアクセスになります。 規定のファイル名はapacheの設定ファイルhttpd.conf内の"DirectoryIndex"で設定されています。 ディレクトリへのアクセスの場合、最後のスラッシュはあっても無くても動作は同じですが、 スラッシュが無いのが正しいそうです。
補足
お答えいただきました内容は把握しているのですが、サーバ上にはhogehogeというディレクトリも無く、もちろんhogehoge/index.php も存在しません。 apache側でAliasの指定もしておりません。 ちなみにロードされているモジュールは以下の通りです。 mod_env.c mod_log_config.c mod_mime.c mod_negotiation.c mod_status.c mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_asis.c mod_imap.c mod_actions.c mod_userdir.c mod_alias.c mod_access.c mod_auth.c mod_so.c mod_setenvif.c mod_php3.c
お礼
原因はコンテントネゴシエーションだと判明しました。
補足
ありがとうございます。 http://www.XX*.jp/hogehoge で http://www.XX*.jp/hogehoge/index.php が表示されるのはご指摘いただいた機能だと思うのですが、 http://www.XX*.jp/hogehoge/index.php で http://www.XX*.jp/hogehoge.php が表示されるのもmod_dir のしわざなのでしょうか。 ([documentroot]/hogehoge/index.php は存在しません) 参考URLを読んでみてもいまひとつ納得が行かないのですが・・・