Я работаю над процессом переписывания. Я застрял на этом.
<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>
что делает вышеуказанное правило:
Он соответствует «activity / explore / tours / tabid / 3422 / id / 5205 / k /» как есть и может содержать что угодно после этого, вплоть до «/p/1/nickis-beach-rides.aspx». Он отлично работает для всех URL-адресов, кроме следующих:
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
который содержит пробел "наслаждайтесь% 20your% 20morning% 20cofee% 20and% 20evening% 20cocktails% 20on% 20" в качестве последнего символа, который приводит к прекращению работы этого правила,
Кто-нибудь знает, как я могу добавить указанный выше URL-адрес, чтобы работать соответствующим образом?
Я могу ошибаться, но подозреваю, что виноват больше %
знак, чем конечный пробел.
это %
знак не обрабатывается вашим фактическим регулярным выражением.
Вы можете попробовать: ([%a-z0-9A-Z-\s]+)