我有一个使用jquery .click
函数的多个表单的CI网站,当我在http
时效果很好,当我更改为https
时,所有表单点击按钮都无法触发,它发生在localhost和web主机中,是否需要配置以在https中运行CI?
解决:
我只是从$config['base_url']
删除了网址,现在问题已经解决了,但我想知道运行https时如何设置$config['base_url']
的值?希望有人能清除我的怀疑。
感谢家伙花时间查看我的问题。
答案 0 :(得分:0)
将base_url
协议设置为独立:
$config['base_domain'] = 'yourdomain.com'; // a new config item if you need to get your domain name
if (isset($_SERVER['HTTP_HOST']))
{
$protocol = ($_SERVER['SERVER_PORT'] == 443 ? 'https://' : 'http://');
$config['base_url'] = $protocol.$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
}
else
{
$config['base_url'] = '';
}
我猜你的ajax请求失败了,因为你试图从安全站点访问不安全的内容。
答案 1 :(得分:0)
我有一个类似的问题。我只是将HTTP
文件中的基本URL从HTTPS
更改为config
,并且对两种协议都适用。
# Base URL in codeigniter with HTTP
$config['base_url'] = 'http://mysite.abc/';
# Base URL in codeigniter with HTTPS
$config['base_url'] = 'https://mysite.abc/';
请记住,当您将HTTP
更改为HTTPS
时,该站点对于两种协议都应该工作良好,但反之则不起作用。