Codeigniter урок 5

1

В уроке после создания ссылок (новость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 ошибка. Почему так происходит, код везде такой же как в уроке?

codeigniter

6 ответов

2

Настройки роутера проверьте и название контроллера. 

2

Файл routes.php в порядке, контроллер тоже... https://yadi.sk/i/lJef4BOA3UGPPY

4

Тут может быть проблема с самой ссылкой. В 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 ?>

0

Если у кого-то возникла такая же проблема, то я могу предложить вам такое решение:

<?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 итд. )

3

Иногда слеш играет важную роль.

2

http://kinomonster.com:8080/news/view/news-2 - если это у тебя последняя страница, больше слеша быть не должно.А если нет то в конце прописывай в URL слеш ну и в роутере тож
http://kinomonster.com:8080/news/view/news-2/ 

Sign up or Log in to write an answer