Sc0undRel
@Sc0undRel

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

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

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

Как решить задачу?
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ответы на вопрос 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. Пропишите нужные дополнительные условия по созданию лога.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽