Я пытаюсь настроить блог script на веб-сайте, работающем в рамках CodeIgniter. Я хочу сделать это без внесения каких-либо серьезных изменений кода в мой существующий код сайта. Я полагал, что создание поддомена, указывающего на другой контроллер, будет самым чистым способом этого.
Действия, которые я предпринял для настройки моего нового контроллера Blog
, включали:
- Создание записи A, указывающей на IP-адрес моего сервера.
- Добавление новых правил в файл CodeIgniter
routes.php
.
Вот что я придумал:
switch ($_SERVER['HTTP_HOST']) {
case 'blog.notedu.mp':
$route['default_controller'] = "blog";
$route['latest'] = "blog/latest";
break;
default:
$route['default_controller'] = "main";
break;
}
Это должно указывать blog.notedu.mp
и blog.notedu.mp/latest
на мой контроллер Blog
.
Теперь вот проблема...
Доступ к blog.notedu.mp
или blog.notedu.mp/index.php/blog/latest
отлично работает, однако доступ к blog.notedu.mp/latest
по какой-то причине приводит меня к странице 404...
Мой .htaccess файл выглядит так (по умолчанию для удаления index.php из URL-адреса):
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
И мой контроллер Blog
содержит следующий код:
class Blog extends CI_Controller {
public function _remap($method){
echo "_remap function called.\n";
echo "The method called was: ".$method;
}
public function index()
{
$this->load->helper('url');
$this->load->helper('../../global/helpers/base');
$this->load->view('blog');
}
public function latest(){
echo "latest working";
}
}
Что я пропустил или делаю неправильно здесь? Я искал решение этой проблемы в течение нескольких дней:(