それで、Apacheの書き換えモジュールをいじり始めたところです。いくつかの異なる方法で実行されているのを見てきたので、これが正しいことを確認したいと思います。私のサンプルコードは今のところ単なる実験ですが、それは私が取り組んでいる新しいプロジェクトの基本構造になるかもしれません。
これが私の.htaccessファイルです:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_\-]+)/?$ index.php?id=$1 [L,NC]
</IfModule>
私のインデックスファイル:
<?php
include 'views/headerView.php';
switch(strtolower($_GET['id']))
{
case "first": include 'views/firstPageView.php';
break;
case "second": include 'views/secondPageView.php';
break;
default: include 'views/homeView.php';
}
include 'views/footerView.php';
?>
そして、デフォルトのhomeViewテンプレート:
<p>This is the home page.</p>
<p>To the first page. <a href="first">First Page</a></p>
<p>To the second page. <a href="second">Second Page</a></p>
私の主な関心事は、テンプレートのアンカータグに「first」と「second」のURLだけがあることです。URLは、インデックスファイルのスイッチで使用され、表示するビューを決定します。私はこのようにしているので、ユーザーがリンクをクリックすると、「first」または「second」という単語がリライトモジュールのバックリファレンスで使用され、URLにdomainではなくdomain.com/firstとして表示されます。 com /?id=first。それで、私はここで正しい軌道に乗っているのですか、それとも何かが足りないのですか?何か役立つアドバイスをいただければ幸いです。ありがとうございます。