Взял исходный код автора для тестирования проблем, вышеописанных. Поведение аналогичное со ссылками.
Но я заметил некую закономерность и думаю причина в этом!
Создал CRUD приложение для постов и подключил вывод постов на главную страницу.
Так, например, после нажатия кнопки читать открывается страница просмотра поста по адресу http://kinomonster.com/posts/view/posts-1
Соответственно ссылка на CRUD приложение
http://kinomonster.com/posts
и если я перехожу по ней, то действительно открывается список постов. НО РАБОТА С НИМИ СТАЕТ НЕВОЗМОЖНОЙ (при нажатии просмотр, редактирования - изменяются адреса ссылок). Изначально я действовал, как описывал ранее (периодически, от сбоя к сбою, корректировал адреса). Но все оказалось гораздо проще!
Для корректной работы CRUD приложения (новости, посты) в конце ссылки необходимо ставить / (слеш). То есть,
http://kinomonster.com/posts/
Итак, загрузил страницу http://kinomonster.com/posts - вывелись посты, но далее работать с ними невозможно. В адресной строке добавляю в конец / и перезагружаю страницу и все ГУД.
Возможно, некоторые люди воспринимают данную деталь как само-собой разумеющуюся аксиому, но мне как "новичку" пришлось целую неделю переписывать заново блок с новостями в поисках ошибки в коде, какую я так и не нашел! НО, за ту неделю я приспособился дописывать news/ потом убирать его, чтобы продолжать курс.
Возможно, так себя ведет PHP 7.4.2 (что уже обсуждалось при ошибке NULL, которая у автора отсутствует. Ее удалось мне обойти проверкой isset. XAMPP я не переустанавливал на версию РНР 7.2 (кажется ее рекомендовали)).
Если же дело не в XAMPP и версии PHP, тогда, полагаю, можно дописать файл .htaccess, чтобы по умолчанию дописывался / в конце адреса, в случае его отсутствия! Хотя CDUD приложение работает и в этом случае http://kinomonster.com/posts//edit/posts-1 (два слеша)
Надеюсь, эти наблюдения станут полезны еще для кого-то!
Также, было бы интересно услышать дополнение по данному поводу!