Почему знак доллара в перезаписи URL не работает?

Рассматривая вопрос Как использовать web.config для перенаправления на строку запроса в Windows Server 2008 R2?

Вот что я имею в web.config:

<rule name="Rewrite Rule 21" stopProcessing="true">
      <match url="^page/&#36;1-per-year$" />
      <action type="Redirect" url="/1-dollar-per-year" redirectType="Permanent" />
    </rule>

Я получаю ошибку 404 каждый раз. Даже пробовал %24

Как я могу заставить это работать? Все остальные мои перенаправления работают нормально.

1 ответ

В вашем регулярном выражении вам просто нужно экранировать знак доллара (\$). Ваше правило должно быть:

<rule name="Rewrite Rule 21" stopProcessing="true">
  <match url="^page/\$1-per-year$" />
  <action type="Redirect" url="/1-dollar-per-year" redirectType="Permanent" />
</rule>
Другие вопросы по тегам