файлов: #index.php и index.php.
В скрипте (перехватывает URI) пытаюсь прочитать строку запроса. Получаю:
Запрос: http://localhost/index.php
Чтение: urldecode($_SERVER['REQUEST_URI'])
Ответ: '/index.php'
Запрос: http://localhost/#index.php
Чтение: urldecode($_SERVER['REQUEST_URI'])
Ответ: '/'
Понятно, что можно переименовать #index.php в какой-нибудь _index.php и забыть о проблеме.
Но всё же: как на веб-сервере получить полный URI (вместе с блоком #) ??
Стал подозревать что строка URI обрезается ещё на уровне браузера.
Но чёрт его поймёт, строка запроса в отдельном поле — может и обрезается под ним как раз?
(см. скриншот)
все верно. все что после решетки сервер не видит.
🤷♂️ ну это якоря, чтоб браузер переходил к нужному месту на странице, веб-серверу на такое пофиг
Это я понимаю. Но кто URI режет? Сам браузер (до отправки), или HTTP-движок (при получении) ?
скорее веб-сервер на чтение. т.к. браузер отправляет же на другие страницы на нужный фрагмент
Ага, похоже на правду. Спасиб.
# резервированный символ в структуре урла
Обсуждают сегодня