• 締切済み

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の設定部分を知りたいと思います。 よろしくお願いいたします。

  • PHP
  • 回答数7
  • ありがとう数5

みんなの回答

回答No.7

mod_dirの機能だと思います。

参考URL:
http://httpd.apache.org/docs/1.3/mod/mod_dir.html
lowrider_2005
質問者

お礼

原因はコンテントネゴシエーションだと判明しました。

lowrider_2005
質問者

補足

ありがとうございます。 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を読んでみてもいまひとつ納得が行かないのですが・・・

回答No.6

http://www.XX*.jp/hogehoge/index.php のページを開くとどのURLのページが開くのでしょうか? http://www.XX*.jp/hogehoge.phpが開くということでしょうか?

lowrider_2005
質問者

補足

その通りです。お心当たりありますでしょうか?

回答No.5

hogehogeディレクトリが無くて同じファイルが表示されるとしたら あと考えられるのは404(File Not Found)のエラーで どこかのファイルが指定されているとかだと思いますが。 デフォルトでは以下のような感じになっていると思います。 httpd.confを確認してみてください。 ErrorDocument 404 /missing.html

lowrider_2005
質問者

補足

ご指摘いただいた設定はしておらず、存在しないURLを開くと404 NotFoundのデフォルト画面が表示されました。

回答No.4

基本的なことですがファイルの中でリダイレクトしているとかは 無いですよね。 http://www.XX*.jp/hogehoge.php http://www.XX*.jp/hogehoge/index.php 上記の2つは同じ表示がされるのですか?

lowrider_2005
質問者

補足

全く同じ内容です。hogehoge.phpを更新すると他にも反映されています。 ちなみにこの現象は「hogehoge.php」に限らず、「foo.php」でも「bar.php」でも全く同じ現象が起きます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

余談ですが、PHP3系はメンテナンスがあまりされてない (サポート終了?)ようで、PHPはたまに 重大なバグがみつかりますので、せめて4系への 移項をなさったほうがよろしいかとおもいます。

lowrider_2005
質問者

お礼

ご指摘ありがとうございます。 phpの開発をしているのが他社のためこちらでバージョン指定できないのがつらいところです。

回答No.2

なんか”​”ってのが入ってしまいました。。。 これは無視してください。

回答No.1

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"で設定されています。 ディレクトリへのアクセスの場合、最後のスラッシュはあっても無くても動作は同じですが、 スラッシュが無いのが正しいそうです。

lowrider_2005
質問者

補足

お答えいただきました内容は把握しているのですが、サーバ上には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

関連するQ&A

  • apacheのディレクトリの設定を教えて下さい。

    apacheをつかって、Webサーバを立てました。 そのとき、Htmlのパス指定で、"/index.html"と指定したとき、ドキュメントルートの"index.html"が開かれると認識してます。 以下のファイルにてパス指定をしたとき   http://192.168.0.1/XXXX/index.html "/sub.html"と指定すると、   http://192.168.0.1/XXXX/sub.html に遷移するような指定方法があると聞きました。 (IISでは、できるそうです。) Apacheでは、このように設定することは可能でしょうか? 参考までに、今回使用しているApacheのバージョンは2.0.55です。 よろしくお願い致します。 ※知識不足のため、まわりくどい聞き方になってしまいすみませんでした。

  • apacheの設定

    solaris9でapache1.3.33を使用しています。 DDNSでサーバーを公開してサーバー自体うまく起動しています。 サーバーデフォルトの(あなたの予想に反して、このページが見えているでしょうか?) と見えます。 ですがWWWルートらしきところに、index.htmを置いても反映されません。(index.htmlでも変わらず) やりたいことは簡単なWEBページを公開したいだけです。IISでは立ち上げたことがありますが、この環境だとわかりません。どう設定すればよいでしょうか? wwwルートの場所とindex.htmを有効にさせるにはどうすればよいでしょうか?

  • apacheの設定

    solaris9でapache1.3.33を使用しています。 DDNSでサーバーを公開してサーバー自体うまく起動しています。 サーバーデフォルトの(あなたの予想に反して、このページが見えているでしょうか?) と見えます。 ですがWWWルートらしきところに、index.htmを置いても反映されません。(index.htmlでも変わらず) やりたいことは簡単なWEBページを公開したいだけです。IISでは立ち上げたことがありますが、この環境だとわかりません。どう設定すればよいでしょうか? wwwルートの場所とindex.htmを有効にさせるにはどうすればよいでしょうか?

  • DocumentRootの設定方法

    Apache×PHP4でドキュメントルートへのリンクがうまく動作しません。 PHP内でリンクアドレス"/hoge"と書くとディスクのルートを指してしまい、サーバのドキュメントルートを指してくれません。サーバの設定が悪いのでしょうか、ドキュメントルートに関してはhttp.confなども変更してはいないのですが。

  • Apacheの仮想ディレクトリ設定について

    質問があります。 windows2000serverにApacheを導入したのですが、実現したいことがあります。動作する範囲は社内のあるフロアのみなので、外から見えるということは考えていません。 今、C:\Oracle\ora90\Apache\Apache\htdocs配下にaaaというディレクトリがあります。この配下には、index.phpというファイルが入っています。このindex.phpは表示する際にユーザID、パスワードを入力するウィンドウが立ちあがります。 URLにhttp://サーバ名/aaa/index.phpとすると動作するのですが、これを http://サーバ名/aaa/とだけ入力して動作するようにしたいのです。 httpd.confファイルを編集すれば出来るということが解ったので、DocumentRootをC:\Oracle\ora90\Apache\Apache\htdocs\aaaとしてみました。DirectoryIndexにindex.phpを加えました。 そうするとhttp://サーバ名/と入力するだけでindex.phpが動作します。よく考えればそうですね。 次に、aliasの設定に掛かりました。 Alias /aaa/ "C:\Oracle\ora90\Apache\Apache\htdocs\aaa/" という記述を加えました。 これでもうまくいくません。 Apacheの再起動は記述を変更するたびに行っています。 同じような事をしたことのあるかた、記述例などを教えて頂けるとありがたです。 よろしくお願いします。

  • CentOS WEB開発 フォルダパーミッション

    職場で、Linuxの経験が無いにも関わらず WEBサイトのサーバ移行をしていまして、躓きました。 新サーバはAWSにてCentOS 6.9 Apache 2.2.15 php 5.3.3となっています。 httpd.conf内にて、デフォルトのDocument Rootから 変更し、そのフォルダ以下にhtmlやphpといった必要な ファイルを置いています。 デフォルトのDocument Rootやその近辺(一つ上の階層)では 置いたhtmlやphpをブラウザで表示することができますが 新たにDocument Rootに設定したフォルダだと 403 Forbidden You don't have permission to access /index.html on this server. と表示されたので、該当のフォルダのパーミッションを 755(775や777も試しました)、ファイルのを644に設定し WEBで見ても現象は変わりません。 -rw-r--r--. 1 apache apache 24 Dec 25 01:52 index.html -rw-r--r--. 1 apache apache 3049 May 16 2017 index.php drwxr-sr-x. 9 apache apache 4096 Dec 25 08:13 www(←Document Rootに設定したフォルダ) .htaccessも変更したDocument Rootフォルダに置いてます。 (中身は下記2行ですが) AddHandler x-httpd-php5 .php .phps DirectoryIndex index.php index.html index.htm 他に何か考慮する点はありますでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • apacheの設定について

    環境はcentos6.5、Apache/2.2.15です。 http://centossrv.com/ CentOSで自宅サーバー構築のページを見ながらWebサーバー構築(Apache)をしています。 http://centossrv.com/apache.shtml このページの通りやってみたのですが、 ポート開放、OK、 http://www.websitepulse.com/help/tools.php?host=&test=web&do=Go! Website test resultsのテストもOKでした。しかし http://サーバー名/にアクセスしてテストページが表示されればOK 、とありますが、 このとおりにやっても、空白のページしか表示されませんでした。 公開するためにやっているのではなく、 /var/www/html/index.htmlにあるこの/index.htmlというページが、サーバ名で表示させたいだけです。 ServerNameで何故index.htmlが表示されないのかが解りません。 情報量少なくてスミマセン。 何か解った方、宜しくお願いします。

  • Apacheモジュールとしてphpをユーザー権限で

    Apacheモジュールとして、phpをユーザー権限で動かしている レンタルサーバー等が多いのですが、 これは、どのように行っているのでしょうか? #CGIであれば、suexecで十分かとは思うのですが OSはFreeBSD 10 です。 pkg ではなく、portsからのインストールになります。 よろしくお願いします。

  • ApacheモジュールのPHPがメモリを使いすぎるとどうなる?

    ApacheモジュールのPHPがメモリを使いすぎるとどうなる? http://okwave.jp/qa/q5756592.html 上記質問を締め切ってしまったので、続けて質問させていただきます。 ApacheモジュールのPHPがメモリを使いすぎて、プロセスが落ちる場合、 PHPが単体で落ちるのでしょうか?それともApacheごと落ちるのでしょうか。 また、どちらだとしても、PHPやApacheは自動で再起動されるのでしょうか。 (サーバの設定によるのかな?)

    • ベストアンサー
    • PHP
  • htmlのリンクについて(Apache)

    http://hogehoge.com/test/ にアクセス中に<a href="/index.php">リンク</a> と言ったようなリンクを踏んだ場合 本来なら/hogehoge.com/test/index.phpに遷移されると思うのですが 何故か/hogehoge.com/index.phpに接続されます。 http://hogehoge.com/test/test1/test2/から <a href="/index.php">リンク</a>で飛んだとしても /hogehoge.com/index.phpに接続されます。 以上の事から常にドメイン配下のindex.phpに接続されるようなのですが。 JS側やphpで制御されているようにも見えないのですが、 Apache側でこういった制御は可能なのでしょうか? 想定できるシステムとしてはどのようなものがございますか?

    • ベストアンサー
    • HTML

専門家に質問してみよう