[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помощь с редиректом на /404 в роутинге index.php
biffick
Всех приветствую.

Требуется помощь с роутингом.
Никак не получается сделать редирект с несуществующих URL на 404 и отдать заголовок Not Found 404.

Тема расположена тут: http://phpforum.su/index.php?showtopic=94970

Что требуется:

- все несуществующие URL редиректить на URL /404
- отправлять клиенту заголовок Not Found 404
- инклюдить страницу (шаблон /pages/404.php)

200 руб на киви/сбер помогающему smile.gif
biffick
Было бы неплохо также доработать момент с конечными слэшами, триммить их, чтобы не было такого: /about/
miketomlin
u75.ru/domains-for-shortcuts плюс тебе за эти 200 руб. еще дадут коротким доменом попользоваться год, т.е. фактически за сам код ты не платишь.

Только там все же БД и по дефолту в обработчике ошибки нет никакого редиректа, как и положено (о чем я подробно написал в твоей теме).

Код элементарный, но основан на мощной теоретической базе. Там используется по сути такая же таблица соответствия, как я тебе показывал в теме, только в БД, но осн. данные хранятся в записях вместе с ключами и выбираются автоматом прямо во время роутинга (по сути там используется один единственный роут в обычном понимании с регуляркой, описывающей допустимый формат адресов). Для «статичных страниц» этой предвыборки обычно достаточно, так что самому писать код для работы с БД не надо, просто делаешь шаблоны и все. См. концовку этой статьи. А если нужно применить один вложенный шаблон к нескольким станицам с однокомпонентными путями (или задать имя шаблона, не совпадающее с ключом), просто добавляешь в таблицу поле module и прописываешь в нем имя/номер шаблона.

К коду прилагается .htaccess, избавляющий от трэйлинг слешей. А в самом коде есть доп. фильтр (см. код в статье про единую точку входа, ссылку на кот. я тебе давал ранее). Пример работы: http://g09.ru///Articles///My-First-Article/// (см., как будет скорректирован адрес).
biffick
miketomlin, мне этот домен не нужен smile.gif
miketomlin
Мое дело предложить. Это самая дешевая схема.

А если остановиться на твоем варианте, то я в твоей теме все уже рассказал.
Dimpler
Тут еще главное работающие страницы не зацепить нечаянно и не отправить их в 404)
Branzon
Цитата (Dimpler @ 10.07.2020 - 12:37)
Тут еще главное работающие страницы не зацепить нечаянно и не отправить их в 404)

С этим вообще никаких проблем быть не должно, если подключена проверка доступности сайта. Если зацепил какую-то рабочую страницу и отправил в 404, то получишь уведомление о проблеме.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.