Como adicionar RedirectType ao arquivo de configuração externo no asp.net
Eu tenho um separado.config
no diretório raiz do aplicativo que contémMapped URLS for redirect
e referenciou isso.config
arquivo emweb.config
para301 Permanent Redirect
! Isso funciona bem.
Agora, também quero adicionar alguns links que serão redirecionados como código de status 302. Como adicionar o redirecionamento 302 no arquivo .config externo e redirecionar de acordo.
rewritemaps.config
<rewriteMaps>
<rewriteMap name="Redirects">
<add key="/oldcellphone" value="/newcellphones.aspx" />
</rewriteMap>
</rewriteMaps>
Podemos especificar o tipo de redirecionamento, ou seja, 301/302 neste arquivo?
web.config
<system.webServer>
<rewrite>
<rewriteMaps configSource="rewritemaps.config">
</rewriteMaps>
<rules>
<rule name="Redirect rule1 for Redirects">
<match url=".*" />
<conditions>
<add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
</system.webServer>
NOTA: Atualmente, todos os links do arquivo'rewritemaps.config'
estão definidos como301 Status
noweb.config
.
Podemos adicionar o seguinte em rewritemaps.config e redirecionar de acordo:
<add key="/oldcellphone" value="/newcellphones.aspx" [RedirectType=301] />
<add key="/oldphone" value="/newphones.aspx" [RedirectType=302] />
Há cerca de1000 links of 301 Status
e sobre400 links for 302 Status
. Se não for possível emexternal file(rewritemaps.config)
entãopor favor sugira maneira preferida de fazer?
Atualizar: Você pode me ajudar a redirecionar para outro site (domínio diferente) se uma string específica corresponder no URL solicitado. Por exemplo: se o URL solicitado contiver "/ hm1", redirecione para outro site. isto éhttp://www.google.com
Web.config
<rule name="othersite" stopProcessing="true">
<match url="^/hm1$" />
<action type="Redirect" url="http://www.google.com" redirectType="Found"/>
</rule>
.aspx
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="/hm1">other site (http://www.google.com)</asp:HyperLink>