Статическая перезапись для ASP.NET MVC и II7, почему все ссылки на страницы ломаются? - PullRequest
0 голосов
/ 07 июня 2019

При следующих настройках в файле Web.Config, когда посетитель использует www.domain.com/company/openposition, все ссылки на страницы становятся неработающими.

<rule name="Rewrite Rule">
   <match url=".*" />
   <conditions>
      <add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
   </conditions>
   <action type="Rewrite" url="{C:1}" />
</rule>

<rewriteMap name="StaticRewrites">
   <add key="/company/openposition" value="/Careers" />
</rewriteMap>

Если страница содержит следующую ссылку ...

<a href="/Careers/Graphics">Read full job description</a>

... становится (то же самое, что я вижу в адресной строке браузера):

<a href="/company/Careers/Graphics">Read full job description</a>

И результат после нажатия - ошибка 404.

Что я делаю не так?

1 Ответ

0 голосов
/ 08 июня 2019

Вот правильный синтаксис, вам нужно использовать тип как Redirect, а не Rewrite:

<rule name="Rewrite Rule" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
      </conditions>
      <action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent"/>
</rule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...