私の CodeIgniter アプリケーションでは、特定の手順を使用して 404 をキャッチして処理しています。それが私が望んでいる方法です。ニーズに合わせて、この .htaccess ファイルを思いつきました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
1つの大きな問題を除いて、これはうまく機能します。それは一種の..すべてをリダイレクトします。たとえば、最終出力が存在しない .css または .js ファイルを参照しているとします。これにより、実際には必要がないときに、アプリケーションがすべてを再実行することになります。
これに対する私の解決策は、フォルダ(私のプロジェクトのルート - と同じフォルダ)とすべてのファイルを無視することstatic
です。ただし、これを実装する方法がよくわからないので、正しい方向に向ける指示や提案をいただければ幸いです。index.php
.css/.js