IIS regravar regra baseada em idioma e idioma padrão

1

Eu quero criar uma regra de reescrita do IIS baseada na linguagem do navegador do usuário, mas apenas para um conjunto específico de idiomas.

Nosso site está disponível em inglês (en), francês (fr) e holandês (nl). Eu posso criar essa regra de reescrita:

<rule name="Redirect short url to long url: NEW SYNTAX 2017-11-01" stopProcessing="true">
    <match url="^([_0-9a-z-]+)$" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="mydomain\.be$" />
        <add input="{HTTP_ACCEPT_LANGUAGE}" pattern="^(en|fr|nl)?" />
    </conditions>
    <action type="Redirect" url="https://www.myotherdomain.be/{C:1}/projects/{R:1}?type=shorturl" appendQueryString="false" redirectType="Found" />
</rule>

Isso funciona bem quando eu configuro meu navegador em um dos três idiomas especificados (en / nl / fr). Por exemplo, o URL link será redirecionado para link (quando o meu navegador está configurado em holandês).

Mas quando eu configuro meu navegador, por exemplo para "ru", então o mesmo URL redirecionará para o link

Para qualquer outro idioma, desejo padronizar o URL longo como / en / em vez de // Existe alguma maneira de fazer isso usando as regras de reescrita do IIS?

Agradecemos antecipadamente por qualquer orientação!

    
por Baz 30.10.2017 / 16:05

1 resposta

0

Para informações: Resolvi meu problema adicionando uma regra de captura de todos os reescritos, que redireciona todas as solicitações para uma única página .aspx. Nesta página .aspx, posso manipular a lógica de redirecionamento adequada com o C # no código de backend.

    
por 31.10.2017 / 10:06

Tags