CodeIgniter form_open()使用不正确的base_url

时间:2014-04-30 13:29:43

标签: php codeigniter codeigniter-form-helper

我一直在开发一个设置为someolddomain.somewhere.com的系统,在开发完成后,我将整个CI项目代码库复制到一个新文件夹中,在Apache中设置新的虚拟主机配置指向新目录路径和域,并已更改

$config['base_url'] = 'someolddomain.somewhere.com'

在application / config / config.php中

$config['base_url'] = 'somenewdomain.somewhere.com'

然而,当我使用CI时 form_open,表单上的操作仍然是someolddomain.somewhere.com。我甚至尝试将其设置为$config['base_url'] = '',但form_open仍在使用旧域。

我已经通过整个CI目录结构递归地寻找" someolddomain",但它不存在。

那它来自哪里?

我知道我可以直接使用html并设置表单操作,但我真的很想知道为什么会发生这种情况。

由于

3 个答案:

答案 0 :(得分:0)

如果您的.htaccess看起来不错,而您似乎无法找到其他任何内容,请检查是否正在缓存这些网页。如果他们被缓存,您可以通过删除application / cache文件夹中的文件来强制刷新。

答案 1 :(得分:0)

问题是由

的配置引起的

$application_folder = '/var/www/somewhere/someolddomain/application'

public / index.php。

我完全忘记了这个配置变量,另外,至少在config.php或application / config中的其他文件中更有意义。

一旦我改变了指向正确文件夹的路径,一切都很好。

答案 2 :(得分:0)

系统/核心的Config.php加载

$this->set_item('base_url', $base_url);

系统/助手的form_helper使用:

 $action = $CI->config->site_url($CI->uri->uri_string());

解决方案:

$config['site_url'] = "NEW DOMAIN"