2013-07-13 3 views
3

У меня проблема с CodeIgniter. Я проверил все возможные решения в Интернете и, похоже, ничего не помогает в моем случае. Я не большой профессионал, и это мой первый раз, используя CodeIgniter, поэтому не будьте суровы со мной.CodeIgniter «Запрошенная вами страница не найдена». ошибка?

routes.php:

$route['default_controller'] = "page"; 
$route['404_override'] = ''; 

$route['(:num)'] = "page/index/$1"; 

page.php:

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

class Page extends CI_Controller { 

    public function index($id=null) { 

     $this->load->model('Image','',TRUE); 
     $this->load->model('Banner','',TRUE); 
     $image = $this->Image->getImageById($id); 
     if (empty($image)) { 
      show_404(); 
     } 
     //db table `banner` always have three rows 
     $banners=$this->Banner->getBanners(); 
     $data=array(); 
     $data['image']=$image; 
     $data['banner']=$banners; 
     $this->load->view('page_index', $data); 
    } 
} 
+1

Как вы написали свой «URL», чтобы достичь этого? – egig

+0

на основе ваших маршрутов, похоже, что корневая страница приложения CI будет 404 основываться на вашем условном. – marshall

+1

измените page.php на 'Page.php', на Linux-платформах имена файлов чувствительны к регистру. –

ответ

0

Это не звучит как ошибка CodeIgniter. Это может быть ваша конфигурация веб-сервера. У вас есть веб-сервер и настройка php-сервера и настроены на вашем компьютере? Вы настроили файл .htaccess для замены «index.php»?

0

Я также совершенно новый для codeigniter. Это то, что я хотел бы сделать в начале:

  1. базы данных автозагрузку и настроить файл database.php
  2. автозагрузку помощник файл «URL», «Файл»
  3. настроить ваш базовый URL «: // вашдомен/yourworkingfolder "(если вы работаете , работая на локальном хосте)
  4. Вам нужно направить свою страницу. Перейдите на route.php и укажите имя вашего имени страницы контроллера по умолчанию и, если оно кажется работающим, чем вы, r полезно для дополнительной задачи.

Пожалуйста, исправьте меня, если я ошибаюсь. Я новичок в Codeigniter. Thankx

0

Вы построили родителя? Публичная функция _ construct() { Родитель :: _construct(); }

0

Спасибо всем, Проблема заключалась в том, что я сказал в page.php, что если нет изображения в базе данных он будет показывать страницу 404:

if (empty($image)) { 
    show_404(); 
} 

я добавил два изображения в БД и теперь это работает.

0

Если вы разработали приложение в Windows, возможно, вы не задали первый символ названий контроллеров и моделей как capital character.

/controllers/home.php как к /controllers/Home.php

В именах файлов Linux чувствительны к регистру.

Примечание: - Это решение возможной проблемы. Возможно, возникли проблемы с неправильной конфигурацией, сервером и переменными пути.

2

Я прочитал вашу проблему. Вы допустили ошибку при сохранении контроллера.

Он должен быть сохранен в столице т.е. Page.php но вы сохранили, как page.php

Я думаю, что это будет работать!

Смежные вопросы