1

mod_rewriteURLの正規化を処理するために、代わりにPHPを使用する可能性を検討しています。多数の異なる URL を特定の物理的な PHP ページにマップし、301 と 404 をより集中化された保守可能な方法で処理できるようにしたいと考えています。これには、一般的なスペルミス、エイリアス、検索エンジンに適した URL パラメーターなどが含まれます。これらのニーズは の能力をはるかに超えているようmod_rewriteに思われるので、他のオプションを検討しています。

canonical.phpすべてのページを .htaccess に次のようにマップするスクリプトを作成することを考えています (この投稿から借用):

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ canonical.php/$1?%{QUERY_STRING} [L]

そして、canonical.php必要な URL 解析 / db ルックアップ / リダイレクトなどを実行/the/appropriate/file.phpし、指定されたリクエストに含めるだけです。

これは合理的な行動ですか?そのような機能は実際にmod_rewrite直接実行可能ですか? (DBルックアップなどは別として)これは明らかに遅くなりmod_rewriteますか?PHPラッパーよりも堅牢な方法論は他にありますか?

4

3 に答える 3

1

多くのフレームワークが行っているルーティングについて話しているのです。この回答を見てください: https://stackoverflow.com/questions/115629/simplest-php-routing-framework

于 2012-06-18T19:00:35.390 に答える
0

これをテストする機会はありませんでしたが、この回答はApacheのFallbackResourceディレクティブを指摘してくれました。これは非常に有望に思えます。

于 2012-11-28T19:31:09.553 に答える
0

私が提案し、使用するのは、404 が発生するたびに呼び出され、発生した URL を格納する php ファイルです。次に、週に一度、管理コンソールにアクセスし、スペルミスのある古い URL、検索エンジンの履歴 URL を現在の既存の URL にマップし、解析ボタンを押すと、新しく更新された .htaccess ファイルが出力されます。

そうすれば、データベースの負荷、読み込み時間、コンパイル時間、リダイレクト時間を軽減できます。

ちょうど私の2セント。

于 2012-06-18T19:00:44.670 に答える