Переменные URL не проходят через механизм перезаписи URL

#variables #url #iis #url-rewriting

#переменные #url #iis #url-перезапись

Вопрос:

Я пытаюсь передать несколько переменных через механизм перезаписи URL-адресов в IIS, но я получаю только одну для прохождения. Это переменные: «имя пользователя» и «информация». На данный момент я получаю только первую переменную «username» для перехода на страницу.

Я перепробовал несколько форматов в URL rewrite, а также проверил свой синтаксис как можно лучше, но не могу найти ничего неправильного. Ниже приведен код.

URL, удобный для браузера:

http://localhost/member/csaad78/social

URL на стороне сервера: member.asp?username= csaad78amp;info = social

Правило в механизме перезаписи URL:

   <rule name="member social iframe forwarded">
    <match url="^member/([_0-9a-z-] )/([_0-9a-z-] )/?$" />
    <action type="Rewrite" url="member.asp?username={R:1}amp;amp;info={R:2}" appendQueryString="true" />
    <conditions></conditions>
    <serverVariables></serverVariables>
  </rule>
  

Код, перехватывающий строку запроса на странице, является:

имя_памяти = Обрезка (запрос.строка запроса («имя пользователя»)) информация = Обрезка (запрос.строка запроса («информация»))

Передается только переменная «username». «информация» не передается. Я бы хотел, чтобы оба прошли!

Комментарии:

1. Используйте FRT, чтобы посмотреть поближе, learn.microsoft.com/en-us/iis/extensions/url-rewrite-module /…

Ответ №1:

Вы могли бы попробовать приведенные ниже правила и asp-код, чтобы получить значение параметра строки запроса:

 <rule name="member social iframe forwarded">
            <match url="^member/([_0-9a-z-] )/([_0-9a-z-] )/?$" />
            <action type="Rewrite" url="member.asp?username={R:1}amp;amp;info={R:2}" appendQueryString="true" />
          </rule>
  

asp-код:

 member_name= <%=Request.QueryString("username")%> info= <%= Request.QueryString("info")%>. 
  

введите описание изображения здесь

Комментарии:

1. Спасибо за вклад, но я не уверен, чем ваш код отличается от моего. Похоже, это тоже не работает.

2. Ваш код urlrewrite работает, вам просто нужно настроить asp-код, который соответствует значению prameter строки запроса. имя_памяти= <%=Запрос. Строка запроса («имя пользователя»)%> info= <%= Запрос. Строка запроса(«info»)%>. ИЛИ имя_памяти= <%=Обрезка(запрос. Строка запроса(«имя пользователя»))%> info= <%= Trim(запрос. Строка запроса(«info»))%>.

3. Спасибо за помощь!