
パフォーマンスと操作性の観点から、多数の URL を永続的に転送する最善の方法を模索しています。これまでのところ、考えられる方法は 3 つあります。
- .htaccess 書き換えルール
- 配列内の一致する URL を検索する PHP ヘッダー関数
- PHP ヘッダー関数が MySQL データベースを調べる
ドメイン全体を転送するのではなく、ドメインの一部のURLのみを転送します。たとえば、製品名が何かに他に何か:
www.example.com/something > www.example.com/anything_else
次のようなURLはwww.example.com/totally_differntそのまま残ります。
答え1
管理性とパフォーマンスのバランスを重視する場合は、次の 2 段階のプロセスをお勧めします (HTTP ルーティング構成でも同じプロセスを使用します)。
- メンテナンスを容易にするためにURLがデータベースに存在する
- スクリプト(bash、PHPなど)は、DBとテンプレートからPHPスクリプトを作成し、元のパスをキーとして新しいパスを値として配列を定義し、要求されたドキュメントパスを検索し、見つかった場合は新しいパスにリダイレクトし、見つからない場合は404を表示します。この「スクリプト作成スクリプト」は、DBが変更された場合に実行されます。
- 生成されたスクリプトは404フォールバックとして使用されます
HHVM またはオペコード キャッシュを使用すると、これは非常に高速になります。コード自体は準備されており、実行する必要があるのはハッシュテーブルの検索だけです。