Маршруты CodeIgniter: я продолжаю получать 404 - PullRequest
4 голосов
/ 04 апреля 2009

У меня есть файл application / controller / login.php, содержащий

class Login extends Controller {

  function Login()
  {
    parent::Controller();  
  }

  function index()
  {
    $this->mysmarty->assign('title', 'Login');
    $this->mysmarty->assign('site_media', $this->config->item('site_media'));
    $this->mysmarty->display('smarty.tpl');
  }
}

Мое определение маршрутов выглядит следующим образом:

$route['default_controller'] = "welcome";
$route['login'] = 'login';
$route['scaffolding_trigger'] = "";

Проблема в том, что я продолжаю получать 404 при попытке доступа http://localhost/myapp/login. Что я сделал не так? Я проверил документацию маршрутов CI и не могу ничего найти.

Ответы [ 3 ]

7 голосов
/ 04 апреля 2009

В этом не должно быть ничего плохого - работает ли без маршрута? Кроме того, правильно ли вы установите .htaccess (т. Е. Вместо этого работает http://localhost/myapp/index.php/login)

2 голосов
/ 01 мая 2009

Еще один момент, о котором следует помнить, если для параметра enable_query_strings установлено значение true и вы не используете правила .htaccess mod_rewrite:

В config / config.php:

$config['enable_query_strings'] = TRUE;
$config['controller_trigger']   = 'c';
$config['function_trigger']     = 'm';
$config['directory_trigger']    = 'd';

URL для правильной маршрутизации вашего запроса будет выглядеть следующим образом:

http://localhost/myapp/index.php?c=login
0 голосов
/ 04 апреля 2017

Если вы не удалили index.php из своего приложения с помощью файла .htaccess, это еще одна игра с мячом. Но то, что вы можете сделать, это:

Установите значение по умолчанию controller, которое не является файлом welcome, и если вы хотите, чтобы файл приветствия был вашим файлом по умолчанию, используйте ссылку следующим образом

http://localhost/myapp/index.php/login

Помните, что этот способ работает только тогда, когда файл index.php не был удален с помощью файла .htaccess.

Также откройте apllication/config/config.php и используйте этот код для baseurl

$config['base_url'] = 'http://localhost/myapp';

Это всегда должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...