Ошибка CodeIgniter с base_url в форме
Я звонил base_url()
в виде действия в виде в моей локальной машине. Но это дает URL как http://::1/codeigniter/
вместо http://localhost/codeigniter
, Это тот же случай с site_url()
также.
Это проблема с .htaccess
файл или я должен сделать какие-либо настройки в config.php
?
Ниже мой .htaccess
файл:
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|jquery|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]
Я использую версию CodeIgniter 3.0.
2 ответа
Если вы оставите это поле пустым, фреймворк попытается автоматически определить его, начиная с версии 2.0.0. Попробуйте установить это значение в конфигурации: $config['base_url'] = 'http://localhost/codeigniter/'
и я думаю, что все должно работать.
Редактировать: с косой чертой.
Если вы не хотите менять $config['base_url']
при изменении сервера или перемещении проекта на работающий сервер с локальной машины попробуйте следующее:
$root = "http://".$_SERVER['HTTP_HOST'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url'] = "$root";
Это может избежать всех проблем с
$config['base_url']
,