2

これは奇妙なことです。私のApacheはで構成されてDirectoryIndex index.html,index.phpいるので、http://gustavopi-macmini.local/index.phpと入力すると、ファイルにhtmlタグしかない場合は、検索してロードします。

しかし、phpスクリプトを入れるとindex.php、代わりにロードindex.html.enされます(動作します!)。ただし、http://gustavopi-macmini.local/index.phpと入力すると、スクリプトが読み込まれて実行されます。

また、index.phpファイルをサブディレクトリに入れてhttp://gustavopi-macmini.local/somesubdirectory/と入力すると、正常に読み込まれ、正常に実行index.phpされます...

ルートのphpスクリプトから「ジャンプ」するというこの奇妙な動作が発生するのはなぜですか?

4

2 に答える 2

10

定義された「ディレクトリインデックス」ファイルの順序も、それらの優先度を決定します。

あなたの状況では、index.htmlとの両方index.phpが存在する場合、Apacheはを選択しindex.htmlます。

これを変更するには、「ディレクトリインデックス」ファイルの順序を変更します。

DirectoryIndex index.php index.html

こちらのドキュメントをお読みください:

http://httpd.apache.org/docs/2.2/mod/mod_dir.html

于 2013-03-25T23:05:11.693 に答える
0

index.htmlindex.phpの間にコンマ(、)を入れないでください。「thaJeztah」で示されているように、ディレクティブDirectoryIndexの順序は重要であり、2つのファイルインデックスがある場合に提供されるファイルを定義します。要求されたディレクトリのhtmlとindex.php:

index.htmlを優先する場合は、次のように記述します。

DirectoryIndex index.html index.php

index.phpを優先する場合は、次のように記述します。

DirectoryIndex index.php index.html

于 2014-10-19T00:43:44.563 に答える