контроллеры загрузки в codeigniter

Для страницы регистрации у меня есть контроллер «Регистрация»

Для страницы входа у меня есть контроллер входа в систему

Я загрузил URL-адрес, заполнил форму

в конце я дал ссылку для входа следующим образом

<a href="<?php echo base_url();?>login">Login</a>

Но он показывает ошибку.

Объект не найден! Запрошенный URL-адрес не найден на этом сервере.

Всего 5 ответов


Измените файл htaccess file на это. Я думаю, это сработает.

RewriteEngine on
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

И базовый URL должен быть абсолютным, включая протокол:

$config['base_url'] = "http://somesite.com/somedir/";

Если используется хелпер URL, то base_url () выведет указанную выше строку.


Сначала проверьте свой base_url из base_url application/Config/config.php

Затем установите значение base_url()

`$config['base_url'] = 'http://localhost/[your-project-name]'`

если ваш проект имеет корневую папку, тогда установите

`$config['base_url'] = 'http://localhost/'`

Примечание. В контроллере входа может быть найден индексный файл. Если нет, то необходимо установить имя вашей функции. Как это:

 <a href="<?php echo base_url('ControllerName/MethodName');?>">Login/[your-function-name]</a>

<a href="<?php echo base_url('ControllerName/MethodName');?>">Login</a>

Вы удалили index.php из url используя файл .htaccess ? Если да, вы можете использовать <?php echo base_url('login'); ?> <?php echo base_url('login'); ?> . Или вы должны использовать <?php echo site_url('login'); ?> <?php echo site_url('login'); ?> .


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

предполагая, что ваш index.php находится непосредственно в htdocs а не в какой-либо htdocs .

иначе он должен быть $config['base_url'] = 'http://localhost/sub_folder/';

(требуется конечная косая черта)


Есть идеи?

10000