Очистите URL страницы с помощью URI Routing в Codeigniter - PullRequest
0 голосов
/ 28 октября 2018

Вот моя структура папок

application
    |
    controllers
              |
              Pages.php
    |
    views
        |
        pages
             about.php
             home.php

Я хочу получить доступ к своей странице about.php, просто перейдя на base_url / about , но я продолжаю получать The requested URL localhost/appfolder/about, не найден наэтот сервер.

Вот как выглядит мой контроллер Pages

<?php
class Pages extends CI_Controller{
    public function view($page = 'home'){
        if(!file_exists(APPPATH.'views/pages/'.$page.'.php')){
            show_404();
        }
        $data['title'] = ucfirst($page);
        $this->load->view('templates/header');
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer');
    }
}

, а мой route.php выглядит так:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');


$route['default_controller'] = 'pages/view';

$route['(:any)'] = 'pages/view/$1';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

Что я делаю неправильно?

1 Ответ

0 голосов
/ 28 октября 2018

Вам необходимо заменить / на DIRECTORY_SEPARATOR в функции file_exists.Это должно работать к настоящему времени.И в маршрутах .php default_controller должно быть pages, а не pages/view.

...