Reescreva a regra para um espaço de configuração de url no final em web.config?

1

Estou trabalhando em um processo de reescrita. Eu tenho sido preso em um ponto que.

<rule name="Uk3" stopProcessing="true">
      <match url="^activities/exploring/tours/tabid/3422/id/5205/k/([a-z0-9A-Z-\s]+)/p/1/nickis-beach-rides.aspx$" ignoreCase="true" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTP_HOST}" pattern="^(www.)?abc.co.uk$" />            
      </conditions>
      <action type="Redirect" url="/activities/exploring/tours.aspx" />
    </rule>

o que a regra acima está fazendo:

Ele combina "atividades / explorando / tours / tabid / 3422 / id / 5205 / k /" como está e pode conter qualquer coisa depois disso até "/p/1/nickis-beach-rides.aspx". Está funcionando bem para todos os URLs, exceto os seguintes:

http://www.abc.co.uk/activities/exploring/tours/tabid/3422/id/5205/k/enjoy%20your%20morning%20cofee%20and%20evening%20cocktails%20on%20/p/1/nickis-beach-rides.aspx

que contém o espaço "gozar% 20your% 20morning% 20cofee% 20and% 20evening% 20cocktails% 20on% 20" como o último caractere que faz com que essa regra pare de funcionar

Alguém tem alguma ideia de como posso adicionar o URL acima para funcionar adequadamente?

    
por raman 12.04.2014 / 13:41

1 resposta

0

Posso estar errado, mas suspeito que o culpado seja mais o sinal % do que o espaço à direita.

Este sinal % não é tratado pelo seu regex real.

Você pode tentar: ([%a-z0-9A-Z-\s]+)

    
por 12.04.2014 / 15:01