首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter base_url() in whack?

Codeigniter base_url() in whack?
EN

Stack Overflow用户
提问于 2012-07-28 09:18:12
回答 4查看 5.9K关注 0票数 0

我试图用下面的代码在表单中建立一个基本的日志:

代码语言:javascript
复制
<?=form_open(base_url() . 'main/login'); ?>

然而,在提交表单之后,url显示如下:

代码语言:javascript
复制
example.com/main/http//example.com/http//example.com/main/login

所以我猜在本质上,出于某种原因,base-url会在控制器/方法声明之前打印两次。如果我清除了配置文件中的基本url值,那么应用程序就能正常工作。然而,我很好奇是什么导致了这一点。为了获得更多信息,我正在使用虚拟主机处理xampp,并且我使用位于文档根目录的.htaccess文件进行了mod-rewrite。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-28 13:20:48

当您使用表单帮助器时,CodeIgniter会自动将base_url添加到表单的操作中。

例如,您可以使用:

代码语言:javascript
复制
<?=form_open('main/login'); ?>

这将产生: http//example.com/main/login

和一个正确的URL!非常简单!:D更多信息请访问:http://codeigniter.com/user_guide/helpers/form_helper.html

票数 2
EN

Stack Overflow用户

发布于 2012-07-28 13:06:41

application/config下的文件config.php的设置为:

代码语言:javascript
复制
$config['base_url'] = '';

给它指定文件夹/目录路径。例如:

代码语言:javascript
复制
$config['base_url'] = 'http://localhost/ci_test/';

不要忘记提到协议(http://).或者,尝试使用site_url()方法而不是base_url()来打开表单。如果使用form_open()函数,则跳过此步骤:

代码语言:javascript
复制
<form action="<?php echo site_url('main/login'); ?>"> ... </form>

代码语言:javascript
复制
<?php form_open('main/login'); ?>

有关更多帮助,请访问:http://codeigniter.com/user_guide/helpers/url_helper.html

不确定您已使用的.htaccess文件。但这可能是codeigniter: why is that when i echo base_url() in an href attribute of an anchor tag, it echoes twice的答案

票数 1
EN

Stack Overflow用户

发布于 2012-07-28 09:26:36

通过参数尝试:

代码语言:javascript
复制
<?=form_open(base_url('main/login')); ?>

代码语言:javascript
复制
<?=form_open site_url('main/login')); ?>

为了附加前缀,还

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11697441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档