IIS - Как да добавяте поддомейни

Имам URL адрес, който е вмъкнат в множество онлайн курсове, съдържащ множество параметри на QueryString и отметка за hashtag. За съжаление, който ги е вмъкнал, е добавил и интервали, което означава, че URL адресите са невалидни.

За да се противопоставя на това, опитвам се да напиша правило за пренасочване в IIS, което ще препрати посетителите към правилния URL адрес, но поради наличието на отметка на хаштаг, не мога да изглежда в състояние да го направя.

URL изглежда така: https://www.example.com/path/Folder%20Name/Folder%20Name/FileName.aspx?id=1234¶m=12345&utm_campaign=text&utm_medium=link#bookmark

Трябва да оголя пространствата като двете Folder%20Name трябва да бъде FolderName. Мога да накарам тази част да работи добре, но низът на заявките се разбърква и завършва като:

https://www.example.com/path/FolderName/FolderName/FileName.aspx#bookmark&id=1234¶m=12345&utm_campaign=text&utm_medium=link - Показалецът се появява първо след .aspx и низът от заявки се игнорира от браузъра, което означава, че URL адресът все още не работи!

Неща, които съм опитвал:

  • Използване на URL Rewrite за настройване на HTTP 301 пренасочване с помощта на съвпадение на шаблони: Заявеният URL: Съвпада с модела Използване: Регулярни изрази Модел: path/Folder Name/Folder Name/FileName.aspx(.*) (опитах много пермутации на това) Условия: {QUERY_STRING} Съвпада с модела: \?(.*)#(.+) Тип на действието: Пренасочване URL адрес за пренасочване: /path/FolderName/FolderName/FileName.aspx?{C:1} - тук се опитвам да премахна изцяло #bookmark от заявката, без успех

  • Използване на URL Rewrite с Rewrite Map Настройте пренаписване на карта от един дословен URL (с интервали) към друг дословен URL (без интервали), запазвайки всичко останало точно - същия резултат

  • поставяне и премахване на отметката в квадратчето „Добавяне на низ за заявка“. (Няма промяна)

  • настройка на пренасочването без условия и просто предаване на низа на заявката с {R: 1} (същия резултат)

Във всеки случай успявам да премахна интервалите, но отметката винаги се премества директно след .aspx и обезсилва останалата част от низа на заявката, който е необходим.

Бих искал или да запазя целия низ на заявката в реда, в който е предаден, ИЛИ, в противен случай, запазете параметрите на низа на заявката и просто премахнете парчето #bookmark от заявката, така че останалата част от заявката да работи. Надявам се само моите регулярни изрази да се нуждаят от корекция.

  • Хеш фрагменти ( # и всичко след него в URL) са само от страна на клиента. Браузърът ги отстранява, преди да направи заявката за страница към сървъра. Правилата за пренаписване не могат да се основават на тях. Не съм сигурен какво точно се случва с низа на заявката, който се премества след фрагмента на хеш. Това е странно.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?