私は最初のシングルエントリーサイトをやっていて、その結果に基づいて、私は利益を見ることができません。
私は以下を実装しました:
- .htaccessは、すべてのリクエストをルートのindex.phpにリダイレクトします
- URLが解析され、各/segment/が要素として配列に格納されます
- 最初のセグメントは、含めるフォルダーを示します(例:「users」»「/ pages / users / index.php」)。
- 各フォルダーのindex.phpファイルは、配列が空になるまで、segments配列の残りの要素を解析します。
- セグメント配列に要素がない場合は、各フォルダーのcontent.phpファイルが含まれ、宛先ファイルに到達したことを示します。
サンプル
ファイル構造([]内のフォルダー):
- [根]
- index.php
- [ページ]
- 【ユーザー】
- index.php
- content.php
- [プロフィール]
- index.php
- content.php
- [編集]
- index.php
- content.php
- 【その他のページ】
- index.php
- content.php
- 【ユーザー】
リクエスト: http: //mysite.com/users/profile/
.htaccessはリクエストをhttp://mysite.com/index.phpにリダイレクトします
URLが解析され、セグメント配列に含まれるもの:[1]ユーザー、[2]プロファイル
index.phpは[1]を"pages/ users / index.php"にマップするため、そのファイルを含めます
pages / users/index.phpは[2]をpages/users / profile / index.phpにマップするため、そのファイルを含めます
セグメント配列には他の要素がないため、現在のフォルダー(pages / users / profile)のcontents.phpファイルが含まれます。
サイトのコンポーネント(たとえば、include_header()、include_footer()など)を含む関数を使用するよりも、これを行うことの利点は実際にはわかりません。したがって、私はひどく間違ったことをしていると結論付けます。それが何なのかよくわかりません。