gpt4 book ai didi

php - Codeigniter 重复 base_url()

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:04:55 25 4
gpt4 key购买 nike

我在使用重复 base_url 的 Codeigniter 时遇到问题。如果我访问 Controller 中的索引页面,所有 url 都很好,但是当我访问一个不是 Controller 中索引页面的页面时(在我的情况下冷却)然后我得到奇怪的重复 url 像这样 http://www.mypage .si/www.mypage.si/services/colling

例如

这是我的服务 Controller

class Services extends CI_Controller {

public function index() {
$this->load->view('header');
$this->load->view('main');
$this->load->view('footer');
}

public function cooling() {
$this->load->view('header');
$this->load->view('cooling');
$this->load->view('footer');
}
}

我的 .htaccess 文件

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

配置.php

$config['base_url'] = 'www.mypage.si/';
$config['index_page'] = '';

这是我的HTML

     <li><a href="<?php echo base_url('services/cooling'); ?>">cooling</a></li>
<!-- results in: http://www.mypage.si/www.mypage.si/services/cooling-->
<img src="assets/images/logo.png" />
<!-- results in: http://www.mypage.si/www.mypage.si/assets/images/logo.png -->
<li><a href="<?php echo base_url()."services/cooling"; ?>">cooling</a></li>
<!-- results in: http://www.mypage.si/www.mypage.si/services/cooling-->

提前致谢!

最佳答案

默认情况下,Codeigniter 不会将当前协议(protocol)添加到您的基本 url,要解决您的问题,只需更新:

$config['base_url'] = 'www.mypage.si/';

$config['base_url'] = 'http://www.mypage.si/';

如果你想让它成为一个高度动态的作品,这就是我目前的基本 url,它永远不需要更新

$config['base_url'] = "http".((isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS'])) ? "s" : "")."://".$_SERVER['HTTP_HOST']."/";

注意:

如果您使用的是 IIS 服务器,这可能不会产生相同的结果,因为 $_SERVER 全局中的 HTTPS 元素不会以相同的方式填充。

关于php - Codeigniter 重复 base_url(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33764075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com