web-dev-qa-db-ja.com

index.htmlの代わりにindex.phpを使用する場合

私はphpが比較的新しいです。私を悩ませている非常に基本的なことがあります。 phpを使用してWebサイトを動的にすることを理解しています。また、phpは、動的なWebサイトの作成に使用できる多くのサーバー側スクリプト言語の1つであることも理解しています。

しかし、私が理解していないのは、いつindex.phpページを使用する必要があるかということです。たとえば、インデックスページに単純なログインページがある場合は、単純なHTMLページでもかまいません。右?次に、なぜindex.htmlではなくindex.phpにしたいのですか?

サンプルの状況の例は素晴らしいでしょう。

27
qre0ct

ファイル内でphpコードを実行する場合は、PHP拡張子(.php)を選択する必要があります。PHPコードは開始<?phpまたは<?および終了?>タグ。

PHPコードを実行する必要がない場合は、.html拡張子を使用できます。

通常、.php拡張子を使用する場合、ブラウザに配信する前にファイルを処理するためにphpインタープリターを使用する必要があることをWebサーバーに伝えます。 phpインタープリターは、<?phpおよび?> PHPコードの出力。手作業で記述したかのように。処理されたファイルはブラウザに配信されます。

ただし、.php拡張子を使用してphpコードを処理するようにWebサーバーに指示することは構成可能です。必要に応じて、他のファイル拡張子も使用できます。

指摘すべきもう1つのことがあります。次のように(ファイル名なしで)URLパスのみを入力する場合:

http://www.myserver.com/

webサーバー(Apache)がインデックスドキュメントを検索する拡張子(ファイル名)の順序があります。たとえば、Apacheの構成には次のようなセクションが含まれる場合があります。

<IfModule mod_dir.c>
      DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

インデックスドキュメントが上記の順序で検索されることを意味します。つまり、index.htmlとindex.phpを同じフォルダーに配置し、上記の構成を使用すると、常にindex .htmlがサーバーによって配信されます。

44
hek2mgl

すべてのページを.phpとして提供する場合、ウェブサイトに害はありません。 Apacheは、静的htmlのみを含むPHPはもちろんのこと、任意のphpを提供するのに非常に高速です。

初心者の方は、シンプルなテンプレートを作成できるようにすることで、PHPが役立つ場合があります。たとえば、サイトのヘッダーとフッターのインクルードを1つのファイルに記述してから、他のすべてのページに含めることができます。

8
LessQuesar

Index.phpまたはindex.htmlを使用するかどうかは大したことではありません。どちらかを使用できます。サイトを動的にするには、PHP(または他のサーバー側スクリプト言語)が必要です。

ログインページがあるように、確実にinde.htmlとして作成できますが、ロジックは別のファイルにあるか、HTMlに埋め込まれている必要があります。

6
Sankalp Mishra

どちらでも使用できます:HTMLでデータを使用しないフォームと基本ページを保持し、PHPを使用するページを適切なphp形式で保持する場合。

しかし、私と他のほとんどの人が使用する方法の1つは、すべてのページをphpファイルにすることです。これは、htmlファイルをphpファイルに含めて同じように表示できるためです。ただし、htmlファイルからphpクエリを実行することはできないため、いくつかのphpスクリプトを追加する場合に限り、常にphpを使用するのは簡単です。

Index.php:

<?php
$var = 5;
?>
<html>
<head>
<title>My Page</title>
</head>
<body>
<h2>Your variable was <?php echo $var; ?></h2>
</body>
</html>
6
Devon Bernard

デフォルトでは、ApacheサーバーはPHP内部のコード)を解析するために.php拡張子のファイルが必要です。ただし、必要に応じて、構成ファイルに1行追加することで、PHPコード内の任意の拡張子を持つファイルを使用するようにサーバーを構成できます。 .HTML拡張子でもphpをサポートするように自分でApacheを編集します。

簡単に言えば、index.htmlファイルに簡単にアクセスしてその下にあるデータを取得できますが、index.phpにアクセスするのは困難です。単純なアプリケーションの場合、index.htmlがトリックを行います。大きくて安全なアプリケーションを計画している場合は、index.phpにアクセスしてください。

4
Php Geek

index.phpに何らかのロジックが記述されている場合があるためです。ユーザーがログインしているかどうかを確認してから、ユーザーを特定のページにリダイレクトすることができます。また、モバイルデバイスの場合のように、デバイスベースのリダイレクトを行うこともできます。

いつでもindex.htmlを作成することを選択できますが、いつロジックを実行する必要があるかはわかりません。

4
Arvind Bhardwaj

私も同じ問題仲間です。しかし、.phpは.htmlよりもはるかに優れていると思います。これは、動的であり、多くのクールな機能も実行できるためです。

2
Zeus

たとえば、私のindex.phpまたは別のメインページ私は主にphpを使用します。これは、サイトの残りの部分で変数を使用するためです。

<?php 
     $sitepath="http://www.example.com/public";
     $author="your name here";
?>

私が<?php echo $sitepath ?>ウェブサイトで画像をリンクするたびに、壊れないようにします。私は常に名前を再利用しているので、.php名前を使用すると、グローバルに変更できるため、そのサービスを使用できます。

404.htmlaboutus.html、またはViewOneBlogPost.htmlはHTMLページである可能性がありますが、そのための機能/変数は必要ない場合があります。

1
Maddocks

Linuxを使用するApache2でファイル拡張子の優先順位の現在の設定を確認するには

/etc/Apache2/mods-enabled/dir.conf

0
aditya