У меня есть приложение CodeIgniter / Bonfire с определенными маршрутами.
Основной URL работает нормально, но подстраницы не перенаправляются.
Когда я ввожу URL:
http://xtrack.local/news/1393/litany-look
Я получил ошибку PAGE NOT FOUND и, похоже, не может найти base_url:
Not Found
The requested URL /news/1393/litany-look was not found on this server.
Вот мой файл маршрутов в application / config / rout.php:
$route['news/(:any)'] = 'home/news/$1';
И мой конфигурационный файл определяет мой base_url:
switch (ENVIRONMENT)
{
case 'development':
$config['base_url'] = 'http://xtrack.local';
break;
default:
exit('The application environment is not set correctly.');
}
EDIT1:
Я нашел способ доступа к своей странице новостей через страницу index.php:
http://xtrack.local/index.php/news/1393/litany-look
Файл index.php необходим, потому что это точка входа приложения, которая готовит все компоненты, включая маршрутизатор. Вы можете использовать файл .htaccess на хостах apache, чтобы неявно передать запрос в этот файл. Из руководства:
По умолчанию файл index.php будет включен в ваши URL:
example.com/index.php/news/article/my_article
Вы можете легко удалить этот файл, используя файл .htaccess с некоторыми простыми правилами. Вот пример такого файла с использованием «отрицательного» метода, в котором все перенаправлено, кроме указанных элементов:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
В приведенном выше примере любой HTTP-запрос, кроме запросов для index.php,
images, а robots.txt рассматривается как запрос для вашего index.php
файл.
Таким образом, URL-адрес станет example.com/news/article/my_article, или, в вашем случае, адресом в начале вашего поста.
Других решений пока нет …