Использование mod_rewrite для преобразования путей с хешем в строки запроса

У меня есть проект 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&parameter_2=$2 [QSA,L]

Как только я добавил тег B, он работал правильно:

RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php"      /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B]

35
задан Mark 19 September 2017 в 16:47
поделиться