web-dev-qa-db-ja.com

Apacheがindex.htmlではなくindex.phpを提供するようにする方法は?

次の行をindex.htmlファイルに配置して、Apacheにindex.phpファイルを含めるようにした場合:

  <?php include("/Live/ls_client/index.php"); ?>    

index.htmlページにアクセスすると、次のことがわかります。

<!--?php include("/Live/ls_client/index.php"); ?-->

何故ですか?なぜ実際にPHPファイルを含めないのですか?

35
Adam Wojda

他の人が指摘したように、おそらく.htmlがphpコードを処理するように設定されていない可能性があります。

そうは言っても、index.htmlを使用してindex.phpをインクルードするだけの場合、おそらく質問は 'index.phpをインデックスドキュメントとして使用するにはどうすればよいですか?

その場合、Apache(httpd.conf)の場合、DirectoryIndexを検索し、これで行を置き換えます(dir_moduleが有効になっている場合にのみ機能しますが、ほとんどのインストールでデフォルトです):

DirectoryIndex index.php

他のディレクトリインデックスを使用する場合は、優先順に並べてください。

DirectoryIndex index.php index.phtml index.html index.htm
65
Glitch Desire

今日(2015年8月1日)、Apache2 in Debian Jessie、編集する必要があります:

root@Host:/etc/Apache2/mods-enabled$ vi dir.conf 

そして、その行の順序を変更して、index.phpを最初の位置に移動します。

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
15
Dr Beco

PHPは、.phpファイル拡張子でのみ動作します。

Apacheを使用している場合は、httpd.confファイルにPHPの拡張機能を設定することもできます。次の行を見つける必要があります。

AddType application/x-httpd-php .php .html
                                     ^^^^^

必要に応じてPHPインタープリターで読み取る必要がある拡張機能の数を追加します。

7
Shoe