Sc0undRel
@Sc0undRel

Как на PHP получить ответ сервера?

Мне необходимо на PHP выполнить скрипт, если кто-либо зашел на любую существующую страницу сайта.

На сайте настроен 301 редирект на Главную, если запрашивается несуществующая страница.
В этом случае почему-то http_response_code() возвращает ответ 200..

Как решить задачу?
  • Вопрос задан
  • 397 просмотров
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Вместо редиректа можно настроить реврайт. На отдельный скрипт.
Который будет записывать в блокнотик запрошенный адрес и уже сам делать 301

(вообще вопрос какой-то шизофренический, я еле понял, что имеется в виду - то ли запрос к серверу, то ли скрипт на сервере. при чем здесь "ответ сервера?")

Хотя нет, снова не понял. Если вопрос про существующую страницу сайта то тупо инклюд на пхп.
вообще надо как-то боле детально объяснить, как устроен сайт и что за скрипт.
возможно, тупо подойдет Яндекс Метрика
Ответ написан
@galaxy
На сайте настроен 301 редирект на Главную, если запрашивается несуществующая страница

Это не особо хорошо с точки зрения SEO, да и с точки зрения банальной логики. Отдавайте 404.

На сайте настроен 301 редирект на Главную

Настроен через PHP или веб-сервер?

В этом случае почему-то http_response_code() возвращает ответ 200

Это когда оно возвращает? В момент запроса несуществующей страницы? Пока вы не поменяли код ответа (через тот же http_response_code или header('HTTP/1.1 301....')), код и будет 200. И после редиректа, когда главная запрашивается, тоже будет 200.

возможно, тупо подойдет Яндекс Метрика

Конечно, подойдет и в сто раз удобнее будет. И ботов она или не задетектит, или отфильтрует. Только если вы редиректите несуществующие страницы, при первом запросе javascript вряд ли успеет выполниться, и такие хиты вы просто будете видеть, как внутренние переходы на главную.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
На сайте настроен 301 редирект на Главную, если запрашивается несуществующая страница.
1. Удалите правило из .htaccess или nginx.conf.
2. Добавьте ту же проверку в начальный PHP-скрипт.
3. Пропишите нужные дополнительные условия по созданию лога.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы