Ну что вы гадаете? Я же написал, что ?page_id=59 это просто get-параметр, не страница, и запрос http://turizmo.su/?page_id=59 равен запросу http://turizmo.su/index.html?page_id=59 страница index.html существует же на сайте, значит и перенаправления никакого не должно быть.
И не будет идти, так как ?page_id=59 это get-параметр запроса, вот если запросить несуществующую страницу http://turizmo.su/blablabla.html то тогда должно сработать перенаправление на 404.
Вы уже засветили ТСу один дубль.
ТС ещё в первом посте себе дубль засветил.
Где решение тогда?
Роутинг на php
ДА ёшкин попуас... что делать то?
Ничего не делать, достаточно будет сделать только от таких вариантов http://turizmo.su/blablabla.html
Ну теперь ещё под такой вариант сделайте turizmo.su/?page=59 и ещё под 100500 подобных вариантов 😂
Вроде сработало
А толку то? Сервер заголовок отдает всё равно 200 OK, а должно быть 404 Not found
ТС вот перейди по ссылке и тоже увидишь главную страницу :)
Ну что вы гадаете? Я же написал, что ?page_id=59 это просто get-параметр, не страница, и запрос http://turizmo.su/?page_id=59 равен запросу http://turizmo.su/index.html?page_id=59 страница index.html существует же на сайте, значит и перенаправления никакого не должно быть.
но перенаправление на нее не идет
И не будет идти, так как ?page_id=59 это get-параметр запроса, вот если запросить несуществующую страницу http://turizmo.su/blablabla.html то тогда должно сработать перенаправление на 404.
С помощью CURL
Извиняюсь, задам вопрос по теме: неужели поисковики не учитывают это и одинаковые адреса со слешем и без в конце для них считаются разными?
Мне кажется в путях проблема, например тут:
у вас перед images стоит слеш, значит переменная $url должна содержать адрес без слеша в конце.
А здесь:
перед icon слеша нет, значит получается что $url должна содержать адрес со слешем в конце.
Ещё можете попробывать file_exists заменить на is_file