2

base_urlを追加する単なる in とanchor('controller/method')は異なる結果が生成されることに気付きました。<a href="controller/method">anchor()

anchor('controller/method'):

<a href="http://localhost/dts/controller/method">Link</a>

<a>:

<a href="controller/method">Link</a>

コントローラーでこれと同じ効果 (アンカー) を実現するにはどうすればよいですか? つまり、リダイレクトに base_url を追加しますか?

私は別のメソッドを呼び出すフォームを持っているのでmethod2redirect('controller/method'). しかし、間違って にリダイレクトされcontroller/controller/method2、フォームが再度送信されると、 にリダイレクトさcontroller/controller/controller/method2れます。

そのため、事前に base_url を付けてコントローラー/メソッドにリダイレクトする方法を知りたいのです。redirect( base_url() . 'controller/method' )動作しません。

index_page は次のように設定されています。

$config['index_page'] = "";

base_url は次のように設定されています。

$config['base_url'] = "http://localhost/program/";

.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

CI マニュアルで提供されている .htaccess が機能しないため、これに基づいています。

何か案は?

4

3 に答える 3

0

ほとんど kemp ですが、スラッシュは必要ありません。

redirect('controller/method');

$config['base_url'] は何に設定されていますか? 正しい関数を使用し、間違った機能を取得しているためです。

于 2010-06-12T23:19:33.743 に答える
0

私はあなたが欲しいと思いますredirect( site_url('controller/method') );

これを使用する前に、URL ヘルパー クラスを追加することを忘れないでください$this->load->helper('url');

于 2010-06-13T15:10:53.527 に答える
0
redirect('/controller/method');
于 2010-06-12T23:00:51.560 に答える