【发布时间】:2023-04-04 11:01:02
【问题描述】:
我注意到anchor('controller/method') 产生的结果与仅仅<a href="controller/method"> 不同,因为anchor() 添加了base_url:
anchor('controller/method'):
<a href="http://localhost/dts/controller/method">Link</a>
<a>:
<a href="controller/method">Link</a>
如何在我的控制器中实现同样的效果(锚点)?也就是说,在我的重定向中添加 base_url?
我问是因为我有一个调用另一个方法method2 的表单,它有一个redirect('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>
这是基于this,因为 CI 手册提供的 .htaccess 不起作用。
有什么想法吗?
【问题讨论】:
标签: .htaccess codeigniter redirect codeigniter-url