base_url() не работает должным образом в Internet Explorer (CodeIgniter)
Изображения и ссылки моей навигационной панели нормально загружаются в CHROME, но при загрузке той же страницы в INTERNET EXPLORER изображения не загружаются, но отображается значок без изображения. Ссылки в IE такие
CodeIgniter/index.php/ Новости / index.php / Новости /
вместо просто
CodeIgniter/index.php/ Новости
ОДНАКО, 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/';
Ответ
Цитата: Хорошо предложение Фабиоса было успешным, спасибо <img src = "<?=base_url('public/images/home.png')?>" alt="Home" title="Home"/>
работает, хотя это будет боль в будущем. Спасибо за вашу помощь!
2 ответа
Хорошо предложение Фабиоса было успешным, спасибо
<img src = "<?=base_url('public/images/home.png')?>" alt="Home" title="Home"/>
работает, хотя это будет боль в будущем. Спасибо за вашу помощь!
Настоящая проблема в том, что вы используете относительные пути, например 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
,