1

これはただの好奇心です。私はこれを数回見ました:

http://www.website.com/index.php/en/contacts.html

このロジックの背後にある理由は何ですか? php ファイルの後に html ファイルが続くのはなぜですか?

4

4 に答える 4

1

PHP (そして、他のサーバー側言語だと思います) ではindex.php、スーパーグローバルを参照することでパスを取得できます$_SERVER['path_info']。この場合、値は次のとおりです。

/en/contacts.html

、その後、アプリケーションでパスを適切に処理できます(たとえば、MVCでは、コントローラーを/users/list初期化してアクションを実行します)userslist

于 2012-04-19T01:35:15.810 に答える
1

確かなことは言えませんが、「en/contacts.html」が index.php を含めるためのファイルへのパスであることに賭けます (非常に悪い習慣です)。この構文の URL はユーザーにも検索エンジンにも優しくないため、使用しないでください。

于 2012-04-19T01:30:02.270 に答える
1

index.phpデータベースへの接続、ページの基本的なレイアウト (ナビゲーション、フッターなど) などを (特に) 含む単一のファイルを作成し、実際のファイル (この場合/en/contacts.html)その中にあります。

個人的には、これを行うにはもっと良い方法がたくさんあるので、これは悪い考えだと思います。それらの 1 つは、 のauto_prepend_fileおよびauto_append_fileオプションですphp.ini

于 2012-04-19T01:31:09.980 に答える
1

これは、何らかのルーティング メカニズムを含むフレームワークを使用している可能性が最も高いです。index.php は /en/contacts.html をパラメーターとして受け取り、適切なファイルを取得して、事前に決められたルールに基づいて処理します。

ほとんどの場合、書き換えルールは Apache または Nginx (または使用されている Web サーバー) で使用されるため、URL は次の形式になります。

http://www.website.com/en/contacts.html

次に、ルートに続くすべてが index.php のパラメーターとして解釈されます。

于 2012-04-19T01:31:57.610 に答える