На первый взгляд вопрос простой.. Как определить точный URL в PHP, который отображается в браузере?
Наглядный пример.
Есть ссылка такого рода
http://site.com/@user
, которая ведет на страницу пользователя
На сервере следующий код, который просто отображает текущий URL
print_r("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
Результат очевидный
http://site.com/@user
Но если я заменю знак "
@" на "
%40" в ссылке (
что является тем же знаком) то результат тот же.
Ссылка:
http://site.com/%40user
Результат:
http://site.com/@user
Задача понять, если URL вида
http://site.com/%40user
, то сделать редирект на
http://site.com/@user
Возможно проверки/редирект нужно ставить раньше, на стороне nginx/apache?