2012-02-01 10 views
5

美化にURL書き換えを使用する場合、PHPスクリプトでコンテンツ計算を行うか、それを.htaccessファイルにハードコードするかどうかについての考えはありますか?例えばURLの書き換えには、.htaccessまたはPHPを使用してコンテンツを判断します。

、WPは、index.phpページにすべてを指示し、.htaccessファイル

RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

に単純なルールを追加します。次にPHPスクリプト(canonical.php)が$ _SERVER ['REQUEST_URI']を解析して実際にどのようなコンテンツをプルアップするかを調べます。誰でもの長所/短所を知ってい

RewriteRule ^products/([0-9][0-9])/$ /productinfo.php?prodID=$1 

:代わりに、このすべてを処理するためにPHPを使用しての

、それは次のように、URLからクエリーアイテムを渡して、.htaccessファイルに直接入力することができ2つの方法?私は、PHPメソッドは少し柔軟性を提供すると思っていますが、私は間違っている可能性があります。私はどちらがより多くのオーバーヘッドを持っているのか分からない。

+0

私の意見では、1つのPHPスクリプトでリクエストをルーティングすると、無効なリクエストを傍受してエラーを適切に処理できるようになります。たとえば、ページが見つからないというカスタムエラーページがありますが、ここには類似したページがあります。 –

+0

それは私が考えていたものです。その場ですべての処理を行うためにPHPスクリプトを使用するほうがはるかに簡単です。 – edeneye

答えて

2

私の意見は、PHPの処理がはるかに優れているということです。唯一の可能性があるマイナス点は、ページの生成時間が全体的に遅くなる可能性がありますが、あまり違いはないことです。しかし、不利な点は以下のとおりです。あなたのサイトが成長

  1. 場合、あなたは.htaccessの 便利ではないたびに、新しいルールを提供する必要があります。たとえば、スクリプト呼び出しに GET引数をもう1つ追加する場合は、 ルールを再度変更する必要があります。
  2. 1つのホスト から別のホストに移動すると快適ではありません。場合によっては、ディレクトリ の構造体とそれに依存するすべての規則を変更する必要があります。
  3. 何かの理由で、Apacheからnginx、IIS、またはその他のサーバー にサイトを移動することに決めた場合は、 .htaccessルールを他のサーバー形式に変換する際に多くの問題が発生します。

PHPでこれらを処理するのは間違いなく優れています。

0

第2の方法は、確かに良い方法ではありません。サイトに新しいセクションを追加するたびに.htaccessに新しいルールを追加する必要があるためです。

あなたは、パフォーマンス/オーバーヘッドについて

RewriteRule ^categories/([\w-]+)/?$ categories.php 

を追加する必要が新しいcategoryを追加したい場合があります例えば、私はあなたがこのようなマイクロ最適化の事を持っていないと思います。ほとんどの場合、パフォーマンス上の問題になると、DBやI/Oの問題に常に関連しています(アプリケーションに悪いコードがあり、サイトが遅くならない限り)。

+0

それは私が考えていたもので、なぜPHPメソッドが使いやすさの観点から「より良い」ものになるのでしょうか。オーバーヘッドの大幅な差がある場合は、どちらか一方を考慮する必要があります。 – edeneye

関連する問題