Рейтинг:2

Удалить решетку (#) из URL-адреса nginx и перенаправить

флаг in

Я хочу взять URL-адрес, добавить префикс, а также удалить хэш-метку из URL-адреса. Например, перенаправьте с http://localhost:8088/app1/#/hello на http://localhost:8088/apps/app1/hello.

Я пробовал это, но, похоже, это не работает:

  местоположение /приложение1/ {
    переписать ^([^#]*)([#])\/(.*) /apps$1$3 навсегда;
  }

Кажется, это как-то связано с хэшмаркой. Так как я могу перейти с http://localhost:8088/app1/q/hello на http://localhost:8088/apps/app1/hello следующим образом:

  местоположение /приложение1/ {
    переписать ^([^q]*)([q])\/(.*) /apps$1$3 постоянный;
  }

Есть ли что-то, что мне нужно сделать, чтобы обработать хэш-метку в перенаправлении?

vidarlo avatar
флаг ar
[Вы не можете] (https://stackoverflow.com/questions/3664257/why-is-the-hash-part-of-the-url-not-available-on-the-server-side). Он никогда не отправляется на сервер.
Рейтинг:10
флаг jp

Вы не можете. Браузер ничего не отправляет после # к нгинкс. # указывает на Фрагмент URL который обрабатывается только на клиенте.

флаг in
... и, чтобы быть ясным, как следствие, обработка маршрута для фрагментов должна происходить в вашем http://localhost:8088/app1/ javascript-коде. Это тема для stackoverflow, а не для serverfault: https://stackoverflow.com/search?q=js+router

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.