Codeigniter маршрутизация на живом сервере Ubuntu, работающем на виртуальной машине

Я действительно расстроен.
Раньше все работало нормально на локальном хосте Windows 7, но после того, как я переместил проект codeigniter на сервер Ubuntu, работающий на виртуальной коробке, все стало так сложно.

Сервер Ubuntu, работающий на виртуальном компьютере, имеет IP-адрес, скажем, 127.0.0.1, а IP-адрес хоста — 127.0.0.2.
В виртуальной коробке я сопоставил ip хоста и ip гостя с помощью адаптера NAT.
Таким образом, я могу получить доступ к гостевому IP-адресу хост-браузера.

В config.php base_url это так $config['base_url'] = 'http://'.$_SERVER['HTTP_HOST']; Итак base_url является http://127.0.0.1

и контроллер по умолчанию $route['default_controller'] = 'login';

В хост-браузере страница по умолчанию из контроллера по умолчанию может быть загружена идеально, но она не применяется к остальным страницам, доступ к которым осуществляется с помощью base_url, страницы не могут быть найдены на сервере, когда они на самом деле там.

<form name="frmLogin" id="frmLogin" method="POST" action="<?php echo base_url('login/login'); ?>">
<input type="text" placeholder="Email" id="txtEmail" value="<?php set_value('txtEmail') ?>" name="txtEmail">
<input type="password" placeholder="Password" id="txtPassword" value="<?php set_value('txtPassword') ?>" name="txtPassword">
<a href="#" class="forgot">forgot password?</a>
<input type="submit" value="Sign In" name="btnLogin" id="btnLogin">
</form>

В приведенной выше форме, контроллер login/login не может быть найден.

Как я могу установить route.php, чтобы все страницы могли быть доступны с помощью base_url?

0

Решение

в config.php

$config['base_url'] = '';
0

Другие решения

Мне удалось решить мою проблему, эта проблема возникла потому, что в Unix имя файла чувствительно к регистру, а в Windows — нет. Мне пришлось переименовать контроллер и имя модели, начиная с заглавной буквы в системе Unix

0

По вопросам рекламы [email protected]