Правило перезаписи IIS с тегом has - PullRequest
0 голосов
/ 01 апреля 2020

На моем сайте я должен написать правило перенаправления IIS с тегом has например,

Исходный URL www.abc.com/resources/#forpatients должен перенаправить на www.abc.com/care-team-corner/resources

и ниже правило, которое я написал, но оно не работает : -

 <rule name="withhash">
<match url="resources/#forpatients$" />
    <conditions>
      <add input="{HTTP_HOST}" pattern="^.*\.?www.abc\.com$" />
    </conditions>
    <action type="Redirect" url="www.abc.com/care-team-corner/resources" redirectType="Permanent" logRewrittenUrl="true" />
  </rule>

Я ищу в Google и обнаружил, что «Фрагмент URL (все, начиная с # on) даже не отправляется на сервер». Так какой же будет альтернативный подход? Должен ли я использовать Jquery и сравнить URL, а затем перенаправить

1 Ответ

0 голосов
/ 02 апреля 2020

Я думаю, что это невозможно сделать на стороне IIS

Так как веб-браузер никогда не отправит #string на сторону сервера, перезапись URL не сможет его получить.

Даже если Вы отправляете запрос через другого клиента, как Fiddler. HTTP.SYS перехватит запрос и вернет 400 -URL неверно.

enter image description here enter image description here

Если вы хотите перенаправить URL на основе указанного c строкового сегмента с перезаписью URL, вы должны включить его в URI или строку запроса.

В противном случае вы должны выполнить перенаправление на стороне клиента.

...