私の古いウェブサイトはフレームワークを使用しておらず、.htaccessは正常に機能しました。以下の私の.htaccessコードを見てください。
RewriteRule ^([a-zA-Z0-9_-]+)\.html solution.php?solution=$1 [L]
つまり、URLで「.html」が検出された場合、ユーザーは任意のGETパラメーターを渡すPHPページにリダイレクトされます。
最近、コードイグナイターフレームワークを使用するようにWebサイトを変換したので、.htaccessコードを次のように変換しました。
RewriteRule ^([a-zA-Z0-9_-]+)\.html index.php/solution/index/$1 [L]
ページが見つからないことになります。ただし、それでも手動で入力した場合
http://myhost/index.php/solution/index/xxx
その後は機能しますが、入力すると
http://myhost/xxx.html
その後、そうではありません。ここでの私の目的は、元のURLを維持することです。これは、元のURLがGoogleによってインデックスに登録されており、以前のWebサイトの訪問者が古いリンクの「ページが見つかりません」と表示されないようにするためです。
役立つかもしれない修正や提案が必要です。お返事をお待ちしております。ありがとう。