Codeigniter урок 5
В уроке после создания ссылок (новость1 и новость2) на странице http://kinomonster.com:8080/news и при переходе по ним, должны открыться страницы http://kinomonster.com:8080/news/view/news-1 и http://kinomonster.com:8080/news/view/news-2 соответственно. У меня открывается страница http://kinomonster.com:8080/view/news-1 и появляется 404 ошибка. Почему так происходит, код везде такой же как в уроке?
6 ответов
Настройки роутера проверьте и название контроллера.
Файл routes.php в порядке, контроллер тоже... https://yadi.sk/i/lJef4BOA3UGPPY
Тут может быть проблема с самой ссылкой. В index.php нужно прописать такой путь(добавить /news/ перед view), в видео не совсем верно прописан:
<?php foreach ($news as $key => $value): ?>
<h2> <a href="/news/view/<?php echo $value['slug']; ?>"><?php echo $value['title']; ?></a></h2>
<?php endforeach ?>
Если у кого-то возникла такая же проблема, то я могу предложить вам такое решение:
<?php foreach ($news as $key => $value): ?>
<p> <a href="/news/view/<?php echo "/".$value['slug']; ?>"><?php echo $value['title']; ?></a></p>
<?php endforeach ?>
Сработает только при условии, что других ошибок нет(замены наследования на MY_Controller в controllers/News.php, пропущенная ссылка $this на date итд. )
Иногда слеш играет важную роль.
http://kinomonster.com:8080/news/view/news-2 - если это у тебя последняя страница, больше слеша быть не должно.А если нет то в конце прописывай в URL слеш ну и в роутере тож
http://kinomonster.com:8080/news/view/news-2/