base_url не работает в codeigniter 3.0.3

Я использую CodeIgniter 3.0.3 и не могу настроить base_url(). в то время как я устанавливаю base_url в файле config.php на $config['base_url'] = 'localhost/codeig303';, и когда я его печатаю, он печатает localhost/codeig303/, но когда я использую его в href, он повторяет URL-адрес, например localhost/codeig303/localhost/codeig303/, и если я устанавливаю его на $config['base_url'] = '';, он возвращает http://::1/codeig303/.

но он работал в codeigniter 3.0.1, который я использовал раньше


person Ali    schedule 07.01.2016    source источник
comment
Что насчет этого $config['base_url'] = 'http://localhost/your_project/';   -  person Mr. ED    schedule 07.01.2016
comment
он работает для URL, но теперь он не знает функций внутри контроллера. внутри моего контроллера у меня есть функция, которая загружает представление, но она говорит, что URL-адрес «проект/контроллер/функция» не найден на этом сервере   -  person Ali    schedule 07.01.2016
comment
скорее всего ваш htaccess в основном каталоге   -  person Mr. ED    schedule 07.01.2016
comment
попробуйте $config['base_url'] = false   -  person Ilanus    schedule 07.01.2016
comment
спасибо wolfgang1983 теперь работает   -  person Ali    schedule 07.01.2016


Ответы (5)


добавьте http: перед localhost вместо

$config['base_url'] = 'localhost/codeig303';

Добавь это

$config['base_url'] = 'http://localhost/codeig303/';
person Masoud Mustamandi    schedule 12.01.2016

Повторяющееся время показывает URL-адрес localhost/codeig303/localhost/codeig303/

Пожалуйста, добавьте http:// перед локальным хостом

как http://localhost/codeig303

Если применять этот тип, то работает нормально.

person msvairam    schedule 07.01.2016

использовать это :

 <a href = "<?php echo base_url(); ?>your/directory">Something</a>

также

 $config['base_url'] = 'localhost/codeig303';

должно быть:

 $config['base_url'] = 'http://localhost/codeig303/';
person Dray    schedule 07.01.2016

В локальном хосте оставьте base_url() пустым. Когда вы загружаете на рабочий сервер, добавьте base_url() как http://stackoverflow.com/.

.htaccess (вне папки приложения)

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

URL-адреса Codeigniter

person Abdulla Nilam    schedule 07.01.2016
comment
загрузить помощник URL, а также - person Abdulla Nilam; 07.01.2016
comment
@barakataliforoz ты это проверял?? - person Abdulla Nilam; 07.01.2016
comment
Согласно CI документация в v3.0.3 конфигурация base_url НЕ должна быть пустой. - person DFriend; 07.01.2016
comment
вам нужно сделать его пустым на реальном сервере, скажем, ваш веб-сайт www.something.com, но если кто-то использует something.com и base_url установлен на www.something.com, будут проблемы. то же самое касается http и https , вы также должны сделать перенаправление 301. - person Dray; 07.01.2016
comment
Когда есть https, у меня есть другой ответ. Но я думаю, что не подходит для этого. В любом случае спасибо @Dray - person Abdulla Nilam; 07.01.2016

Добавьте следующий код в config.php:

if(ENVIRONMENT != 'production')
$config['base_url'] = (is_https() ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['SCRIPT_NAME'], 0, strpos($_SERVER['SCRIPT_NAME'], basename($_SERVER['SCRIPT_FILENAME'])));
else $config['base_url'] = '';

и добавьте <?php echo base_url(); ?>/'your file locations'

Надеюсь, это ответит на ваш вопрос ..!

person Deepak Keynes    schedule 18.04.2017