Итак, я работаю над сокращением ссылок PHP (я знаю, что нужно миру). Обычно, когда страница загружается, php определяет, куда ей нужно перейти, и отправляет заголовок 301 для перенаправления браузера, например, так ...
Header( "HTTP/1.1 301 Moved Permanently" );
header("Location: http://newsite.com";
Теперь я пытаюсь добавить отслеживание в мои перенаправления и вставить некоторые пользовательские аналитические данные в таблицу MySQL до того, как произойдет перенаправление. Это прекрасно работает, если я не указываю тип перенаправления и просто использую:
header("Location: http://newsite.com";
Но, разумеется, как только вы добавите заголовок 301, ничего больше не будет обработано. На самом деле, при первом запросе он отправляет данные в MySQL, но при любых последующих запросах связь с базой данных отсутствует.
Я предполагаю, что это проблема с кэшированием в браузере, когда он увидит 301, он решает, что у него нет причин анализировать что-либо в будущих запросах. Но кто-нибудь знает, есть ли способ обойти это?
Мне бы очень хотелось сохранить его как 301 для целей SEO (думаю, если вы не укажете, он отправляет 404 по умолчанию?).
Я думал об использовании .htaccess для добавления файла на страницу, которая будет выполнять работу MySQL, но с 301, не будет ли это просто игнорироваться?
В любом случае, я не уверен, есть ли какое-либо решение, кроме использования перенаправления другого типа, но я готов сдаться только сейчас. Таким образом, любые предложения будут высоко оценены. Спасибо!