私は以前に両方の方向に行きました。どちらにも長所と短所がありますが、レイアウトを含む単一のメインページである 2 番目のオプションに傾倒しています。これは、デスクトップ パブリッシング アプリケーションでマスター ページがどのように機能するかに似ています。ASP.NET は、このアイデアを適切に実装しています。テクノロジを切り替える必要があると言っているわけではありません。
ただし、このルートを使用する場合は、URL のクエリ文字列ではなく、mod_rewrite を使用してパスを PHP マスター ページに取得します。.htaccess ファイルには次のようなものが含まれている必要があります。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [S=1]
RewriteRule ^(.*)$ /index.php?path=$1 [QSA]
これは基本的に、クエリ文字列変数に URL パスを指定して index.php に 404 エラー ハンドオフ処理を与える代わりに、彼らが要求するファイルが存在しないかどうかを示します。したがって、「http://example.com/path/to/page」は、 $_GET['path'] が「/path/to/page」に設定された index.php にヒットすることになります。そこから、データベースやフラット ファイルなどからコンテンツを取得できます。要求されたパスに基づいて、さまざまなテンプレートを選択することもできます。