Я использую CodeIgniter v3.1.3. Основываясь на учебнике «Статическая страница», я пытаюсь создать статический веб-сайт, содержащий 5 страниц, таких как «Главная», «О компании», «Службы», «Портфолио» и «Контакт».Навигационные меню не работают в CodeIgniter
У меня есть контроллер Pages.php внутри каталога 'application/controllers'
.
Мой Pages.php контроллер выглядит
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Pages extends CI_Controller {
//Controller logic
public function view($page = 'home')
{
if(!file_exists(APPPATH.'views/pages/'.$page.'.php')){
//Whoops!, we don't have a page for that
show_404(); //In-built CI function to show 404 error pages
}
$data['title'] = ucfirst($page); //Capitalize the first letter
$this->load->view('templates/header',$data);
$this->load->view('pages/'.$page,$data);
$this->load->view('templates/footer',$data);
}
}
Я также создал 5 статических страниц внутри 'application/views/pages'
как home.php, about.php, services.php, portfolio.php, contact.php
Общие коды заголовка & нижний колонтитул существует в 'application/views/templates'
как footer.php & header.php. Мое меню навигации внутри header.php выглядит
<li><a class="curr_menu" href="<?php echo base_url('pages/view/home');?>">Home</a>
</li>
<li><a class="page-scroll" href="<?php echo base_url('pages/view/about');?>">About Us</a>
</li>
<li><a class="page-scroll" href="<?php echo base_url('pages/view/services');?>">Services</a>
</li>
<li><a class="page-scroll" href="<?php echo base_url('pages/view/portfolio');?>">Portfolio</a>
</li>
<li><a class="page-scroll" href="<?php echo base_url('pages/view/contact');?>">Contact Us</a>
</li>
Мой routes.php (приложение/Config/routes.php) выглядит
$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';
На домашней странице показана первоначальная нагрузка, тем не менее, когда я нажимаю на любые пункты меню, он возвращает '404 Страница не найдена' ошибка.
Может кто-нибудь объяснить - с четким кодом - показать, чтобы мое меню работало. .htaccess в корне содержит
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Вы управляли файлом '.htacess'? –
yes У меня есть файл htaccess. Я отредактировал свой вопрос, чтобы включить мой файл htaccess –
'href =" Php echo base_url ('index.php/pages/view/home');?> "' Он работает или нет .try раз –