codeigniter: почему, когда я повторяю base_url() в атрибуте href тега привязки, он повторяется дважды

поэтому в основном, когда я повторяю функцию codeigniter base_url() в атрибуте href тега привязки, кажется, что она повторяется дважды. Пример:

<a href="<?php echo base_url(); ?>">somelink</a>

и выше, если вы проверите его, ваш браузер Chrome покажет это:

<a href="www.mysitedomainname.com/www.mysitedomainname.com/">somelink</a>

«mysitedomainname.com» — это просто имя, которое я придумал для этого примера. Любая причина, почему это происходит?


person dave    schedule 12.07.2012    source источник
comment
Как вы определяете настройку base_url в файле конфигурации?   -  person Austin    schedule 12.07.2012
comment
$config['base_url']= 'www.mysitedomainname.com/';   -  person dave    schedule 12.07.2012
comment
@dave Пожалуйста, смотрите мой ответ ниже.   -  person Sergey Telshevsky    schedule 12.07.2012


Ответы (3)


Есть три причины, о которых я знаю, которые могут вызвать это.

Первый - когда в config.php в строке 17 $config['base_url'] = ''; написано что-то не то - его лучше оставить пустым, как при скачивании CI.

Второй — если вы установили значение $config['base_url'] без префикса http:// или другого протокола.

Третий — если вы где-то установили base href:

<base href="http://www.mysitedomainname.com/" />

Когда вам нужно сослаться на другую страницу, вы должны использовать site_url(), base_url() можно использовать для ссылки на таблицы стилей, js, атрибуты img src и другие реальные URL-адреса. Причина довольно проста: base_url() не включает значение index_page, установленное в config.php.

person Sergey Telshevsky    schedule 12.07.2012
comment
вау, вторая была проблемой ... чувак, я часами буквально убивал себя, пытаясь понять это ... какого черта http:// имеет значение? - person dave; 12.07.2012
comment
Поскольку это базовая функциональность HTML, попробуйте записать в обычном HTML <a href="something">1</a> — он будет добавляться к текущему URL-адресу. И лучше вообще ничего не устанавливать для этого значения, CodeIgniter сделает это за вас, и вам не придется менять его при развертывании вашего проекта. - person Sergey Telshevsky; 12.07.2012
comment
@SergeyTelshevsky - что будет, если я оставлю его пустым $config['base_url'] = "" - person Vilas; 19.01.2016
comment
@VilasGalave Я не знаю. Это 2016 год, не используйте codeigniter. - person Sergey Telshevsky; 19.01.2016

попробуй это

Сделай это

$config['base_url'] = "http://www.mysitedomainname.com"

в это

$config['base_url'] = ""

в config.php

person Bryan Bojorque    schedule 13.05.2013

Он будет работать нормально, если вы используете

<a href="<?php echo base_url('Controller/Function'); ?>">somelink</a>
person Gautam3164    schedule 21.08.2012