У меня есть проект PHP, в котором мне нужно отправить символ решетки (#) в пути URL-адреса. ( http://www.example.com/parameter#23/parameter#67/index.php ) Я думал, что urlencode позволит это, преобразование хэша в% 23
Но теперь я вижу, что даже хеш-код с URL-адресом заставляет браузер рассматривать все, что находится справа, как фрагмент URL (или запрос).
Есть ли способ передать хеш-код, или мне нужно сделать замену символов перед urlencode?
Добавить добавляемое изменение (19 сентября 2017 г.):
Оказывается, я задавал неправильный вопрос. Моя проблема заключалась не в использовании символа решетки в пути (кодировка действительно работает), а в использовании mod_rewrite для преобразования его в строку запроса. Мне не удалось перекодировать его в RewriteRule. Я отредактирую заголовок, чтобы он соответствовал.
Вот правило перезаписи, которое я использовал:
RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1¶meter_2=$2 [QSA,L]
Как только я добавил тег B, он работал правильно:
RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php" /hashtags.php?parameter_1=$1¶meter_2=$2 [QSA,L,B]