在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>
。它变成了(与我在浏览器 URL 栏上看到的相同内容(:
<a href="/company/Careers/Graphics">Read full job description</a>
单击它后的结果是 404 错误。
我做错了什么?
这是正确的语法,您需要使用 type 作为 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>