0

私の古いウェブサイトはフレームワークを使用しておらず、.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サイトの訪問者が古いリンクの「ページが見つかりません」と表示されないようにするためです。

役立つかもしれない修正や提案が必要です。お返事をお待ちしております。ありがとう。

4

2 に答える 2

1

CIを使用するようにWebサイトを変換しているときに、多くのことを見逃したようです。URLサフィックスについて読んでください。また、ルートを使用して、コントローラーを使用して通常は処理できないものをリダイレクトできることにも注意してください。

また、設定ファイルを変更するだけでは機能しないため、.htaccessを変更して削除する必要があります。これについては、このindex.phpようなリソースがたくさんあります。

于 2012-12-22T03:11:48.950 に答える
0

codeigniterユーザーガイドに従ってください:http://ellislab.com/codeigniter/user-guide/general/urls.html

特に次のセクションで:

  1. index.phpファイルを削除する
  2. URLサフィックスの追加

それでも問題が解決しない場合は、次のwikiを確認してください。

https://github.com/EllisLab/CodeIgniter/wiki/Removing-index.php-in-codeigniter-xampp-for-windows

また

CodeIgnitersのURLルーティングを機能させるために.htaccessファイルを作成するにはどうすればよいですか?

于 2012-12-22T15:07:24.363 に答える