Назад | Перейти на главную страницу

Новый символ строки% 250A в URL: Apache выдает ошибку 404

Это пример пути скрипта, вызывающего проблему:

http://example.com/index/index/tokenID/345%250Atest

Если я попытаюсь перейти по этой ссылке на производственном сервере, я получу ошибку 404. Если я попытаюсь посетить его на локальной машине:

localhost:8080/index/index/tokenID/345%250Atest

все работает хорошо.

Оба сервера на Apache. Производственный сервер - Cent OS, localhost - Ubuntu. Похоже, что в файле Apache есть некоторая конфигурация, которую я забыл установить.

Из спецификации RFC 1738 (не последней):

Таким образом, только буквенно-цифровые символы, специальные символы «$ -_. +! * '(),» И зарезервированные символы, используемые для их зарезервированных целей, могут использоваться в незашифрованном виде в URL-адресе.

Текущая спецификация - RFC 3986

Теперь этот оператор выше относится к незакодированным символам, но ваш кодирован. Я не нашел подобного заявления.

URI состоит из ограниченного набора символов, состоящих из
цифры, буквы и несколько графических символов. Зарезервированное подмножество
эти символы могут использоваться для разграничения компонентов синтаксиса внутри
URI, в то время как остальные символы, включая как незарезервированный набор, так и те зарезервированные символы, которые не действуют как разделители, определяют каждый
идентификационные данные компонента.