【问题标题】:base_url() not working properly in internet explorer (CodeIgniter)base_url() 在 Internet Explorer (CodeIgniter) 中无法正常工作
【发布时间】:2013-02-14 01:00:52
【问题描述】:

我的导航栏图像和链接在 CHROME 中加载正常,但在 INTERNET EXPLORER 中加载同一页面时,图像无法加载,但显示无图像图标。 IE中的链接是这样的

CodeIgniter/index.php/news/index.php/news/

而不仅仅是

CodeIgniter/index.php/news

然而,IE 设法成功加载 css,即使它也在使用 base_url()...这是我的代码:

test.php

<head>
<base href="<?php echo base_url() ?>">
<link rel="stylesheet" type="text/css" href="public/css/main.css">
</head>
 <nav>
    <ul>

     <li><a href="index.php/news">
     <img src = "public/images/home.png" alt="Home" title="Home"/>
     </a></li>


     <li><a href="index.php/news/create">
     <img src = "public/images/create.png" alt="Create new article" title="Create new article"/>
     </a></li>

    </ul>
 </nav>

config.php

  $config['base_url']   = 'http://localhost/CIgniter/CodeIgniter/';

回答

Quote:Well Fabios 的建议是成功的,感谢&lt;img src = "&lt;?=base_url('public/images/home.png')?&gt;" alt="Home" title="Home"/&gt; 工作,即使它在未来会很痛苦。感谢您的所有帮助!

【问题讨论】:

  • 好吧, 是 HTML5。您打算使用哪个版本的 IE?
  • 而不是像这样加载你的图像 " alt="Home" title="Home "/> 对 css 做同样的事情,如果你想要跨浏览器兼容性,请删除 base 标签
  • base_url() 不受浏览器影响,它应该是静态的......即使你只是插入 $_SERVER['HTTP_HOST'] 或类似的东西.....
  • 感谢大家的回复,我会尝试 Fabios 替代方案(啰嗦,哈)尝试,我在家用电脑 atm 上的 IE10 上运行它,但早期版本也需要它,所以我假设 Fabios是最好的方式去谢谢。约翰好吧,我不知道该说什么,还有其他人在互联网上报告它,没有简单的解决方法。
  • 那么 Fabios 的建议是成功的,感谢&lt;img src = "&lt;?=base_url('public/images/home.png')?&gt;" alt="Home" title="Home"/&gt; 的工作,即使它将来会很痛苦。感谢您的所有帮助!

标签: php codeigniter base-url


【解决方案1】:

Fabios 的建议成功了,谢谢

&lt;img src = "&lt;?=base_url('public/images/home.png')?&gt;" alt="Home" title="Home"/&gt;

即使将来会很痛苦,也可以工作。感谢您的所有帮助!

【讨论】:

    【解决方案2】:

    真正的问题是您使用的是相对路径,例如public/images/home.png 而不是/public/images/home.png,开头的斜线告诉浏览器它应该根据您在$config['base_Url'] = ... 指定的绝对路径来检索内容它是当前路径(我的意思是你到达 CodeIgniter/index.php/news 并且你已经指定了它的相对路径,所以这就是为什么它附加到它产生错误的路径 CodeIgniter/index.php/news + index.php/news/) 因此,当您在路径的开头添加斜杠时,它将引用绝对路径,并且会在CodeIgniter/index.php/news 找到您。

    【讨论】: