когда у меня был сайт на среде разработки – это был url: testurl.com
Теперь на сервере производства мой адрес приложения codeigniter должен быть someurl.com/mysite/
Я переместил его туда, и каждый раз, когда я пытаюсь запустить какую-то функцию, example / home / test – это заводит меня в someurl.com/home/test – что НЕПРАВИЛЬНО.
Это должно быть someurl.com/mysite/home/test – как это исправить? Я установил
$config['base_url'] = someurl.com/mysite/
Базовый URL должен быть абсолютным, включая протокол:
$config['base_url'] = "http://somesite.com/somedir/";
Если используется хелпер URL, то base_url()
выведет base_url()
выше строку.
Передача аргументов в base_url()
или site_url()
приведет к следующему (предполагая $config['index_page'] = "index.php";
echo base_url('assets/stylesheet.css'); // http://somesite.com/somedir/assets/stylesheet.css echo site_url('mycontroller/mymethod'); // http://somesite.com/somedir/index.php/mycontroller/mymethod
Проверьте
config> config
Структура файла codeigniter
замещать
$config['base_url'] = "your Website url";
с
$config['base_url'] = "http://".$_SERVER['HTTP_HOST']; $config['base_url'] .= preg_replace('@/+$@', '', dirname($_SERVER['SCRIPT_NAME'])).'/';
Ну, это очень интересно, вот быстрый и рабочий код:
index.php
/** * Define APP_URL Dynamically * Write this at the bottom of index.php * * Automatic base url */ define('APP_URL', ($_SERVER['SERVER_PORT'] == 443 ? 'https' : 'http') . "://{$_SERVER['SERVER_NAME']}".str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']));
config.php
/* |-------------------------------------------------------------------------- | Base Site URL |-------------------------------------------------------------------------- | | URL to your CodeIgniter root. Typically this will be your base URL, | WITH a trailing slash: | | http://example.com/ | | If this is not set then CodeIgniter will guess the protocol, domain and | path to your installation. | */ $config['base_url'] = APP_URL;
CodeIgniter ROCKS !!! 🙂
Если вы оставите его пустым, система попытается автоматически определить его с версии 2.0.0
.
Но не в 3.0.0
, см. Здесь: config.php
После объявления базового url в config.php (обратите внимание: если вы все еще получаете ту же ошибку, проверьте autoload.php)
$config['base_url'] = "http://somesite.com/somedir/";
Проверьте «автозагрузка»
Структура файла CodeIgniter:
\application\config\autoload.php
Включить автозагрузку:
$autoload['helper'] = array(**'url',** 'file');
И это работает.
application> config> config.php
найдите $ config ['base_url'] и разместите свой сайт как «//example.com» (пропустить протокол)
$config['base_url'] = "//someurl.com/";
Это работает для меня.
это для серверного сайта live, который я применяю в hostinger.com, и его работоспособность
1st: $config['base_url'] = 'http://yoursitename.com';
(в confing.php)
2): src="<?=base_url()?>assest/js/wow.min.js"
(в файле вида)
3): href="<?php echo base_url()?>index.php/Mycontroller/Method"
(для URL-ссылки или вызова метода)
Динамический базовый url (codeigniter)
Просто перепишите строку в config / config.php следующим образом:
$ config ['base_url'] = 'http: //'.$_SERVER [' HTTP_HOST '].' / ';
$config['base_url'] = "http://".$_SERVER['SERVER_NAME']."/project_name/";
таким образом вы конфигурируете base_url, а затем не будете беспокоиться о хостинге. оба работают на локальном хосте и сервере.
Base url set in CodeIgniter for all url $config['base_url'] = "http://".$_SERVER['HTTP_HOST']."/";
Вы пропускаете двойные кавычки?
$ config ['base_url'] = "someurl.com/mysite"
Вы можете использовать базовый путь url по умолчанию для любого сервера, который должен использоваться в папке config> файлы config.php, замените вас —>
$config['base_url'] = 'index.php';
по этому коду: $config['base_url'] = "http://".$_SERVER['HTTP_HOST']; $config['base_url'] .= preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';
$config['base_url'] = "http://".$_SERVER['HTTP_HOST']; $config['base_url'] .= preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';
это автоматическое обнаружение вашей папки на любом сервере
Попробуйте добавить контроллер на свою индексную страницу. Просто посмотрел на аналогичную структуру на одном из моих собственных сайтов, и у меня был базовый url, установленный = = somedomain.com/v2/controller.