典型的な LAMP サーバーで多数の URL を永続的にリダイレクトする最良の方法

典型的な LAMP サーバーで多数の URL を永続的にリダイレクトする最良の方法

パフォーマンスと操作性の観点から、多数の 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 ルーティング構成でも同じプロセスを使用します)。

  1. メンテナンスを容易にするためにURLがデータベースに存在する
  2. スクリプト(bash、PHPなど)は、DBとテンプレートからPHPスクリプトを作成し、元のパスをキーとして新しいパスを値として配列を定義し、要求されたドキュメントパスを検索し、見つかった場合は新しいパスにリダイレクトし、見つからない場合は404を表示します。この「スクリプト作成スクリプト」は、DBが変更された場合に実行されます。
  3. 生成されたスクリプトは404フォールバックとして使用されます

HHVM またはオペコード キャッシュを使用すると、これは非常に高速になります。コード自体は準備されており、実行する必要があるのはハッシュテーブルの検索だけです。

関連情報