codeigniter 带有HTTPS前缀的site_url()

kx7yvsdv  于 2022-12-07  发布在  其他
关注(0)|答案(3)|浏览(150)

*更新

当我使用site_url()时,它返回**http://mysite.com**
是否有一个函数或选项可以让它返回带有HTTPS的站点URL?

示例

所以site_url( array('use_https' => 'on') )要获取https:mysite.com

rvpgvaaj

rvpgvaaj1#

没有特别说明。但是您可以编写自己的函数或用途:

https://<?php echo $_SERVER['SERVER_NAME']; ?>

function url_https($base_url)
{
    return str_replace('http://', 'https://', $base_url);
}
7gcisfzg

7gcisfzg2#

2022年答案

这个问题已经很老了,但在谷歌搜索结果中仍然排名靠前。
此函数接受参数:https://developer.wordpress.org/reference/functions/site_url/
第二个参数用于设置方案,可以按如下方式使用:

site_url('/', 'https');
gfttwv5a

gfttwv5a3#

1黑客是改变codeignite定义的基本网址,只是//...//将使用任何协议是在使用中的权利。
如果你使用https://example.com你的链接将使用https如果你使用http://example.com你的链接将使用http

/* Location: ./system/core/Config.php */
if (isset($_SERVER['HTTP_HOST']) && preg_match('/^((\[[0-9a-f:]+\])|(\d{1,3}(\.\d{1,3}){3})|[a-z0-9\-\.]+)(:\d+)?$/i', $_SERVER['HTTP_HOST']))
{
    $base_url = /*(is_https() ? 'https' : 'http').'://'.*/"//".
                $_SERVER['HTTP_HOST'].substr($_SERVER['SCRIPT_NAME'], 0, strpos($_SERVER['SCRIPT_NAME'], basename($_SERVER['SCRIPT_FILENAME'])));
}
else
{
    $base_url = 'http://localhost/';
}

相关问题