2016-08-26 11 views
0

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

Прежнее значение ListId: 7898D8D3-7FDC-427C-B81D-AE95ADA03F07

Новый ListId значение: 32992B8E-905E-47CA-BAB2-846D3E5D399F

Источник URL:

/sites/techopskb/_layouts/listform.aspx?PageType=4&ListId={7898D8D3-7FDC-427C-B81D-AE95ADA03F07}&ID=5859&ContentTypeID=0x0100D98D0B04DDCDF84C872D58FFE6AA6B84 

Целевой URL:

/sites/techopskb/_layouts/listform.aspx?PageType=4&ListId={32992B8E-905E-47CA-BAB2-846D3E5D399F}&ID=7537&ContentTypeID=0x0100D98D0B04DDCDF84C872D58FFE6AA6B84 

Кудрявые брекеты вызывают мои головные боли. Я пробовал %7B и %7D в выражении, но IIS ему это не нравится. (BTW - это веб-сайт SharePoint 2010, IIS v7.5)

Спасибо.

+0

Вы проверили мой ответ? –

ответ

0

Вам необходимо использовать {UrlDecode:% 7B}. See here

Так что ваше правило перезаписи будет выглядеть, как показано ниже

<rule name="ModifyQueryString" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
     <add input="{QUERY_STRING}" pattern="(.*)listid=\{7898D8D3-7FDC-427C-B81D-AE95ADA03F07\}(.*)" /> 
    </conditions> 
    <action type="Redirect" url="http://example.com/sites/techopskb/_layouts/listform.aspx?{C:1}&amp;listid={UrlDecode:%7B}32992B8E-905E-47CA-BAB2-846D3E5D399F{UrlDecode:%7D}{C:2}" appendQueryString="false" /> 
</rule> 
+0

Я изначально думал, что это сработало, но это не совсем правильно. Используя вышеприведенное руководство, я получаю очень длинную повторяющуюся строку URL. Здесь это ... 'http://www.example.com/sites/techopskb/_layouts/listform.aspx?PageType=4&&ListId={32992B8E-905E-47CA-BAB2-846D3E5D399F}&ID=1037&ContentTypeID=0x0100D98D0B04DDCDF84C872D58FFE6AA6B84&PageType=4&&ListId = {32992B8E-905E-47CA-BAB2-846D3E5D399F} & ID = 1037 & ContentTypeID = 0x0100D98D0B04DDCDF84C872D58FFE6AA6B84 & PageType = 4 && ListId = {32992B8E-905E-47CA-BAB2-846D3E5D399F} & ID = 1037 & ContentTypeID = 0x0100D98D0B04DDCDF84C872D58FFE6AA6B84', и т.д .... – Blisteragent

+0

ли вы снимете добавить строки запроса в правиле? –

+0

Вы попытались снять флажок в строке запроса в строке запроса? –

 Смежные вопросы

  • Нет связанных вопросов^_^