自分自身を繰り返し呼び出す編集スクリプトを CI に移植しました。最初は正常に機能しますが、2 回目は機能しません。成長し続けたのは URI であることがわかりました。
スクリプトのエラーを見つけようとしたり、それらをサブフォルダーに配置したりした後、それとは関係がないことがわかりました。
この基本的なテストをセットアップしました: CONTROLLER test_edit は、url-string を取得するだけです:
index()
{
$data['uri_string']=uri_string();
$this->load->view('test_edit',$data);
}
index2()
{
$data['uri_string']=uri_string();
$this->load->view('test_edit',$data);
}
VIEW test_edit には、url-string と CONTROLLER へのリンクのみが表示されます。
<p>URI=<?=$uri_string ?></p>;
<p><a href="test_edit">test_edit</a></p>;
<p><a href="test_edit/index2">test_edit/index2</a></p>;
この結果、
URI=最初
のリンクを 1 回クリックした後
URI=test_edit/index 最初の
リンクを 2 回クリックした後
URI= test_edit/test_edit/index などになります
。2 番目のリンクをクリックすると、(明らかに) 404 エラーが発生します。
私の質問: - WTF はこれを引き起こしますか??? 呼び出しごとに URI が更新されないのはなぜですか (キャッシュ?)、またはセグメントを追加するもの: ブラウザ、ルータークラス?
NB: base_url の使用については気にしないでください。URI 変換の全体的なポイントは、絶対標準 URL または絶対パスを使用することではありません。これを回避する方法は知っていますが、そうする必要はありません。理解したい。