これはただの好奇心です。私はこれを数回見ました:
http://www.website.com/index.php/en/contacts.html
このロジックの背後にある理由は何ですか? php ファイルの後に html ファイルが続くのはなぜですか?
PHP (そして、他のサーバー側言語だと思います) ではindex.php
、スーパーグローバルを参照することでパスを取得できます$_SERVER['path_info']
。この場合、値は次のとおりです。
/en/contacts.html
、その後、アプリケーションでパスを適切に処理できます(たとえば、MVCでは、コントローラーを/users/list
初期化してアクションを実行します)users
list
確かなことは言えませんが、「en/contacts.html」が index.php を含めるためのファイルへのパスであることに賭けます (非常に悪い習慣です)。この構文の URL はユーザーにも検索エンジンにも優しくないため、使用しないでください。
index.php
データベースへの接続、ページの基本的なレイアウト (ナビゲーション、フッターなど) などを (特に) 含む単一のファイルを作成し、実際のファイル (この場合/en/contacts.html
)その中にあります。
個人的には、これを行うにはもっと良い方法がたくさんあるので、これは悪い考えだと思います。それらの 1 つは、 のauto_prepend_file
およびauto_append_file
オプションですphp.ini
。
これは、何らかのルーティング メカニズムを含むフレームワークを使用している可能性が最も高いです。index.php は /en/contacts.html をパラメーターとして受け取り、適切なファイルを取得して、事前に決められたルールに基づいて処理します。
ほとんどの場合、書き換えルールは Apache または Nginx (または使用されている Web サーバー) で使用されるため、URL は次の形式になります。
http://www.website.com/en/contacts.html
次に、ルートに続くすべてが index.php のパラメーターとして解釈されます。