Перенаправление со специальными символами в целевом URL

У меня есть то, что я считал очень простым сценарием перенаправления URL. Посетите простой и легко запоминающийся URL-адрес mydomain, и вы будете перенаправлены на очень сложный облачный адрес.

Это то, что у меня есть внутри виртуального хоста apache2.

ServerName clock.mydomain.com   
RewriteEngine On
RewriteRule ^/$ https://sub.example.com/service/#/12345/login/webclock/1 [R=301,NC,L]

Проблема заключается в # в целевом URL. # кодируется в html как %23, поэтому браузер ищет и не находит https://sub.example.com/service/%23/12345/login/webclock/1

Как я могу это исправить? Все, что я читаю, посвящено работе со специальными символами в URL-адресе источника, а не в URL-адресе назначения.

Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
24
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Из документация mod_rewrite вам нужно использовать флаг NE (без выхода), когда в вашем правиле перезаписи есть хэш.

ServerName clock.mydomain.com   
RewriteEngine On
RewriteRule ^/$ https://sub.example.com/service/#/12345/login/webclock/1 [R=301,NC,NE,L]

Другие вопросы по теме