404页面不存在。 未找到您所请求的页面。 Codeigniter 3.0.6

i have problem with CodeIgniter3: 404 Page Not Found

File: application/controllers/Welcome.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {   
    public function __construct()
    {
        parent::__construct();
    }
    public function index()
    {
        $this->load->view('Welcome_Page');
    }
    public function tutorial()
    {
        $this->load->view('Tutorial_Page');
    }
    public function manual()
    {
        $this->load->view('Manual_Page');
    }
    public function forum()
    {
        $this->load->view('Forum_Page');
    }
    public function register()
    {
        $this->load->view('Register_Page');
    }
    public function login()
    {
        $this->load->view('Login_Page');
    }
}

File: application/config/autoload/php

$autoload['helper'] = array('url');

File: application/config/routes.php

$route['default_controller'] = 'welcome';
$route['translate_uri_dashes'] = FALSE;

File: application/config/config.php

$config['base_url'] = 'http://subdomain.domain.tld';
$config['index_page'] = '';

File: .htaccess

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

Page loads Welcome_Page, but not other pages.

404 Page Not Found

The page you requested was not found.

In folder views, exist pages: Forum_Page.php, Login_Page.php, Manual_Page.php, Register_Page.php, Tutorial_Page.php and Welcome_Page.php

Thank you so much for understanding!

Ah, I see now. Your problem is in routing. You are meant to reach pages as

http://sub.domain.tld/welcome/tutorial
http://sub.domain.tld/welcome/manual
...

but you created view HTML to get

http://sub.domain.tld/tutorial
http://sub.domain.tld/manual
...

In APPPATH.'config/routes.php' file, under reserved routes you have to reroute your calls in way of:

$config[(:any)] = 'welcome/$1'

Two things are here you need to pay attention:

  1. Placeholder (:any) would take place for $1,
  2. Your route that contains (:any) parameter have to be at the end of file because

    Routes will run in the order they are defined. Higher routes will always take precedence over lower ones.

More of that here. Check that whole page and other pages in docs as well.

Try this. Replace your .htaccess code with the following code: YOURPROJECTNAME is your base folder. e.g. if you are on local server and your project is called myproblem, then replace 'YOURPROJECTNAME' with 'myproblem'

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* YOURPROJECTNAME/index.php/$0 [PT,L]

ensure that the .htaccess is at the root of your app also.