Почему знак доллара в перезаписи URL не работает?
Рассматривая вопрос Как использовать web.config для перенаправления на строку запроса в Windows Server 2008 R2?
Вот что я имею в web.config:
<rule name="Rewrite Rule 21" stopProcessing="true">
<match url="^page/$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>