0

人気のあるものを利用している場合:

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L,QSA]

また、mvc Web フレームワークで 404 を処理しようとしています。指定された URI に対応するビューが見つからない場合は、php アプリケーション自体で手動で 404 http ヘッダーを送信しますよね? これは Zend/Kohana やその他のフレームワークで行われている方法ですか?

別の質問として、サイト全体を書き直し、301 をセットアップしたいとします。ルートを設定する場所( Django の urls.py のような正規表現スタイル)または Virtualhost ディレクティブでそれを行いますか?

基本的に、Web フレームワークがルーティングを処理している場合、VirtualHost の RewriteRules を変更する必要がありますか?

4

1 に答える 1

1

404 では、一般的に言えば、はい。

永続的なリダイレクトを行う限り、コンテキストに依存すると思います。私のルーティング ソリューションが適切な方法でそれをサポートしていれば、大きなスケーリングの問題が発生することが予想されない限り、おそらくそれを選択するでしょう。

つまり、大量のトラフィックを処理していて、提供する静的コンテンツがたくさんある場合 (ただし、Web サーバーとして apache 以外を使用するほど大規模ではない場合)、apache プロセスを薄く保つために fcgi の下で php を実行することになる可能性があります (プリフォークよりも優れた MPM を使用します)。そのような世界では、おそらく URL を短絡させて、Web サーバーにリダイレクトさせることになるでしょう。

しかし、そのような場合でも、最初にルーティング フレームワークでそれを行わない理由はありません。

そうすれば、リクエストがすり抜けた場合でも、処理が遅くなっても機能します。

于 2009-09-21T05:40:22.390 に答える