У меня есть пользователи с slahes в их именах пользователей. Я хочу дать им простые URL-адреса, такие как /user/username
, даже если их имя пользователя проблематично. т.е. /user/xXx/superboy
.Кодирование компонента uri, не автоматически декодируется
Я использую маршрутизацию на стороне клиента, и я не думаю, что есть поддержка подстановочных знаков. Одним из очевидных способов исправить это было бы кодирование их имени пользователя. href="/user/xXx%2Fsuperboy"
. Но браузер автоматически расшифровывает URL-адрес при переходе по ссылке, а затем мой маршрутизатор не подходит в любом случае. Есть ли способ заставить браузер автоматически расшифровывать URL-адрес или каким-либо другим способом решить мою проблему (возможно, другая схема декодирования?). Благодарю.
Я использую angularjs с угловым ui-router для маршрутизации.
Если он декодируется браузерами равномерно, то почему бы не попробовать его двойное кодирование? –
Что вы используете на стороне сервера? Вот где у вас будут проблемы. AngularJS здесь не проблема. Например, если вы размещаете свое приложение в IIS, у вас могут быть проблемы с такими URL-адресами. –
Символ '/' не указан в имени файла или папки ... как вы можете создать такой файл или папку в первую очередь. Вы можете выбрать передачу имени пользователя в качестве запроса. –