Как установить правильный код базы данных codeigniter?
когда у меня был сайт на среде разработки - это был URL: testurl.com
Теперь на рабочем сервере мой адрес приложения codeigniter должен быть someurl.com/mysite/
Я переместил его туда, и каждый раз, когда я пытаюсь запустить какую-то функцию, например /home/test - он меня вставляет someurl.com/home/test - что НЕПРАВИЛЬНО.
Он должен быть someurl.com/mysite/home/test - как это исправить? Я установил
$config['base_url'] = someurl.com/mysite/
Ответы
Ответ 1
Базовый URL должен быть абсолютным, включая протокол:
$config['base_url'] = "http://somesite.com/somedir/";
Если используется хелпер 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
Ответ 2
Проверьте
config > config
Структура файла codeigniter
заменить
$config['base_url'] = "your Website url";
с
$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/[email protected]', '', dirname($_SERVER['SCRIPT_NAME'])).'/';
Ответ 3
Ну, это очень интересно, вот быстрый и рабочий код:
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!!!:)
Ответ 4
Если вы оставите его пустым, структура попытается autodetect с версии 2.0.0
.
Но не в 3.0.0
, см. здесь: config.php
Ответ 5
После объявления базового url в config.php(обратите внимание, что если вы все еще получаете ту же ошибку, проверьте autoload.php)
$config['base_url'] = "http://somesite.com/somedir/";
Проверьте "автозагрузка"
Структура файла CodeIgniter:
\application\config\autoload.php
И включите автозагрузку:
$autoload['helper'] = array(**'url',** 'file');
И он работает.
Ответ 6
это для сервера и моего сайта, который я применяю в 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 или вызов метода)
Ответ 7
Я думаю, что CodeIgniter 3 рекомендует установить $config['base_url']
на полный URL-адрес вручную, чтобы избежать вставки заголовка HTTP.
Если вас это не беспокоит, вы можете просто добавить следующие строки в свой
application/config/config.php
defined('BASE_URL') OR define('BASE_URL', (is_https() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME']) . '/');
$config['base_url'] = BASE_URL;
Таким образом, у вас также есть постоянная BASE_URL
доступная во всем коде проекта (включая представления), и вам не нужно использовать функции:
config_item('base_url') //returns BASE_URL
$this->config->item('base_url'); //returns BASE_URL
Ответ 8
Вы можете использовать базовый путь по умолчанию для любого сервера, который должен использоваться в папке config> файлы config.php, заменяют вас:
$config['base_url'] = 'index.php';
по этому коду: $config['base_url'] = "http://".$_SERVER['HTTP_HOST']; $config['base_url'].= preg_replace('@/[email protected]','',dirname($_SERVER['SCRIPT_NAME'])).'/';
$config['base_url'] = "http://".$_SERVER['HTTP_HOST']; $config['base_url'].= preg_replace('@/[email protected]','',dirname($_SERVER['SCRIPT_NAME'])).'/';
он автоматически обнаружил вашу папку на любом сервере
Ответ 9
application > config > config.php
найдите $config ['base_url'] и разместите свой сайт как "//example.com" (пропустить протокол)
$config['base_url'] = "//someurl.com/";
Это работает для меня.
Ответ 10
Вы пропускаете двойные кавычки?
$config ['base_url'] = "someurl.com/mysite"
Ответ 11
Динамический базовый url (codeigniter)
Просто перепишите строку в config/config.php со следующим:
$config ['base_url'] = 'http://'.$_SERVER [' HTTP_HOST '].'/';
Ответ 12
$config['base_url'] = "http://".$_SERVER['SERVER_NAME']."/project_name/";
таким образом вы конфигурируете base_url, а затем не будете беспокоиться о хостинге. оба работают на локальном хосте и сервере.
Ответ 13
Base url set in CodeIgniter for all url
$config['base_url'] = "http://".$_SERVER['HTTP_HOST']."/";
Ответ 14
Измените config.php следующим образом.
$ark_root = "http://".$_SERVER['HTTP_HOST'];
$ark_root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = $ark_root;
Ответ 15
Базовый URL должен быть абсолютным, включая протокол:
$config['base_url'] = "http://".$_SERVER['SERVER_NAME']."/mysite/";
Эта конфигурация будет работать как на локальном хосте, так и на сервере.
Не забудьте включить автозагрузку:
$autoload['helper'] = array('url','file');
Тогда base_url() будет выводиться как ниже
echo base_url('assets/style.css'); //http://yoursite.com/mysite/assets/style.css
Ответ 16
Попытайтесь добавить контроллер на свою индексную страницу. Просто посмотрел на аналогичную структуру на одном из моих собственных сайтов, и у меня был базовый url-набор, равный = "somedomain.com/v2/controller"