Я использую CodeIgniter. У меня есть папка внешнего интерфейса и внутреннего интерфейса внутри контроллеров и представлений. Я пробовал шаги сервера, даже проверял почти все решение, но все же не могу получить к нему доступ, мой контроллер по умолчанию
routes.php
$route['default_controller'] = 'frontend/User_control';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
/*backend*********************************/
$config['backend'] = 'backend/Access_control';
1) Моя проблема - когда я получаю доступ к URL-адресу http: // localhost / example_ci_row /
Я получаю сообщение 404 Страница не найдена
2) Как получить доступ к внутреннему URL-адресу Я пробовал http: // localhost / icube_row / admin но я получаю сообщение об ошибке
интерфейс User_control
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class User_control extends CI_Controller {
public $current_date;
function __construct()
{
parent::__construct();
$this->load->library('form_validation');
$this->load->helper('form');
}
public function index(){
$this->load->view('frontend/login');
}
}
?>
Backend Контроль доступа
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Access_control extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->library('form_validation');
$this->load->helper('form');
}
public function index(){
$this->load->view('backend/login');
}
}
?>
Отредактировано
Он работает, когда я использую следующие шаги. Я добавил файл Test.php в контроллер и изменил маршруты, после чего я получаю страницу входа в систему.
Test.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Test extends CI_Controller {
public $current_date;
function __construct()
{
parent::__construct();
$this->load->library('form_validation');
$this->load->helper('form');
}
public function index(){
$this->load->view('frontend/login');
}
}
?>
routes.php
$route['default_controller'] = 'Test';
@ PravinVavadiya, файл htaccess уже есть в папке моего приложения. Стоит ли создавать вне приложения?
Думаю, с маршрутами может быть какая-то проблема.
Встроенный $ route ['default_controller'] не будет работать для подпапок. вам необходимо расширить системный маршрутизатор в соответствии с вашими требованиями
@pradeep, вы можете мне еще помочь?






Вы настроили Base URL?
Приложение-> config-> config.php
$config['base_url'] = 'http://localhost/example_ci_row';
Думаю, может быть проблема с маршрутами
Чтобы исправить другие проблемы, нам нужно уточнить, что контроллер по умолчанию работает. Когда вы пытаетесь использовать http://localhost/example_ci_row в адресной строке, он не может отображать ошибки в соответствии с этими настройками.
Да, контроллер по умолчанию работает, но он работает, когда я добавляю контроллер вне папки внешнего и внутреннего интерфейса.
Я нашел здесь предыдущий ответ на вашу проблему. Следуйте этому stackoverflow.com/questions/6529026/…
Я уже пробовал это, прежде чем задавать вопрос. Если я нажимаю URL-адрес localhost / example_ci_row / index.php / frontend / User_control, я получаю свою страницу входа, но когда я нажимаю URL-адрес localhost / example_ci_row, он получает страницу 404, не найденную
Вы создали файл .htaccess и настроили такой файл конфигурации; $config['index_page'] = ' ';?
Да, я создал .htaccess внутри моей корневой (example_ci_row) папки и $ config ['base_url'] = 'localhost / example_ci_row'; $ config ['index_page'] = 'index.php'; Мой файл .htaccess теперь пуст. я должен добавить какой-нибудь код?
$config['index_page'] = 'index.php'; это должно быть похоже на это $config['index_page'] = ''; Вы должны удалить index.php, который находится внутри ''Да, я удаляю index.php и добавляю код в htacess, который вы предоставили, но по-прежнему не могу получить доступ к $ route ['default_controller'] = 'frontend / User_control'; все еще получаю 404, страница не найдена
Надеюсь, что это поможет вам :
Встроенный $route['default_controller'] не будет работать с подпапками. вам необходимо расширить системный маршрутизатор в соответствии с вашими требованиями следующим образом:
Вам необходимо создать MY_Router.php в application > core > MY_Router.php
<?php
class MY_Router extends CI_Router {
protected function _set_default_controller() {
if (empty($this->default_controller)) {
show_error('Unable to determine what should be displayed. A default route has not been specified in the routing file.');
}
// Is the method being specified?
if (sscanf($this->default_controller, '%[^/]/%s', $class, $method) !== 2) {
$method = 'index';
}
// This is what I added, checks if the class is a directory
if ( is_dir(APPPATH.'controllers/'.$class) ) {
// Set the class as the directory
$this->set_directory($class);
// $method is the class
$class = $method;
// Re check for slash if method has been set
if (sscanf($method, '%[^/]/%s', $class, $method) !== 2) {
$method = 'index';
}
}
if ( ! file_exists(APPPATH.'controllers/'.$this->directory.ucfirst($class).'.php')) {
// This will trigger 404 later
return;
}
$this->set_class($class);
$this->set_method($method);
// Assign routed segments, index starting from 1
$this->uri->rsegments = array(
1 => $class,
2 => $method
);
log_message('debug', 'No URI present. Default controller set.');
}
}
Это позволит вам использовать $route['default_controller'] = 'frontend/User_control'; в качестве контроллера по умолчанию.
Да, работает. Как это работает? Можете ли вы помочь мне?
как я уже говорил, по умолчанию встроенный $ route ['default_controller'] не будет работать для подпапок. вам необходимо расширить системный маршрутизатор в соответствии с вашими требованиями
мой контроллер по умолчанию работает с вашим кодом MY_Router, но как получить доступ к внутреннему контроллеру?
Да, конечно, я приму его и проголосую за ваш ответ, но дайте мне немного времени, чтобы реализовать его в моем коде. default_controller работает, но $ config ['backend'] = 'backend / Access_control'; не работает
Ой!! Боже, я добавил $ config, установленный для маршрута. вот почему это не работает. Теперь он работает отлично. спасибо и голос с моей стороны.
удовольствие мое, счастливого кодирования
Я просто хочу знать, куда мне добавить файл .htaccess внутри приложения для внешнего приложения? который лучший?
вне папки приложения параллельно папке example_ci_row
Прохладный!! Спасибо
Надеюсь, у вас все хорошо, я знаю, что это не лучший способ перенаправить любого участника на вопрос, но поверьте мне, я решаю одну проблему за последние 4 дня. если вы знаете что-нибудь по этому поводу, дайте мне знать. вот ссылка stackoverflow.com/questions/61977036/…
Да, вы мне предложили, и это работает. Мне просто нужно знать, нужно ли мне получить доступ к тому же значению имени, тогда как я могу получить к нему доступ? Я пробовал print_r ($ row-> somename [0] -> disbursed); но это не работает.
@ user9437856 у вас есть доступ вот так foreach($value->somename as $item){ echo $item->disbursed;}
Спасибо за это, я уже нахожусь в foreach, и я снова попробовал $ row-> somename [0] -> filesubmit, и он работает
Возможно, отсутствует файл .htaccess. пожалуйста, проверьте это один раз