IIS6 - Como faço para redirecionar os usuários para outro site para cada página com algumas exceções?

votos
4

Eu tenho uma configuração site no IIS 6, digamos que ele é chamado http://www.this.com .

Tenho a configuração de um redirecionamento para este site para http://www.that.com que mantém a estrutura de diretório e parâmetros de consulta da seguinte maneira:

http://www.that.com $ S $ Q - usando a opção A URL exatamente como digitada acima

Isso funciona muito bem, sempre que alguém pede, por exemplo:

http://www.this.com/subfolder/page.aspx?Id=1

em seguida, eles acabam em:

http://www.that.com/subfolder/page.aspx?Id=1

Agora, eu tenho uma página, na verdade, um manipulador, http://www.this.com/image.axd , que eu não quero para redirecionar.

O que é a sintaxe para isso? Eu li o redirecionamento Usando Curingas seção aqui , mas eu não posso trabalhar para fora como fazer o que parece ser algo simples.

Note-se que image.axd é um manipulador para que eu possa não apenas clique direito sobre ele e defina as propriedades de redirecionamento, uma vez que não existe fisicamente.

Eu também tenho um par de outras páginas em subpastas que eu não quero para redirecionar, por exemplo:

http://www.this.com/subfolder/donotredirectthispage.aspx

Qualquer ajuda seria apreciada.

Edit: Um par de pessoas mencionaram usando ISAPI_Rewrite, para o qual eu sou grato, mas eu realmente não quero introduzir uma outra complexidade na configuração site. IIS parece implicar que eu posso conseguir o que eu quero usar o! e de 0 a 9 variáveis.

Não é realmente possível fazer isso usando o IIS?

Minha solução atual é para definir as propriedades de redirecionamento em todas as pastas e páginas que eu quero para redirecionar exceto aqueles que não, mas isso é um pesadelo de gestão.

Publicado 10/12/2008 em 13:35
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Você poderia implementar uma página de erro personalizada para o page not founderro (404) que faz o redirecionamento para você. Você iria desativar o redirecionamento no IIS. Construir a lógica para o redirecionamento em sua página de erro personalizada. Em seguida, configure seu web site para que erros 404 redirecionar para sua página de erro.

Respondeu 10/12/2008 em 13:42
fonte usuário

votos
0

Você deve olhar para a possibilidade de usar um módulo de reescrita de cabeçalho, por exemplo ISAPI_Rewrite . Há uma versão gratuita "lite" disponíveis, que é suficiente para as suas necessidades.

O que isso pode fazer por você é o seguinte: Antes de páginas reais são executados no servidor, os cabeçalhos de solicitação são reescritas (ou HTTP 301/302 redirecionamentos são emitidos) com base em um conjunto configurável de regras. O servidor subjacente vê os pedidos restantes como se o cliente realmente fez-los dessa maneira.

As seguintes regras deixaria image.axdpedidos sozinho, enquanto redirecionando tudo o resto.

# image.axd stays unchanged ("L" is the "last rule" flag)
RewriteCond Host: www.\this\.com
RewriteRule ^.*?\bimage\.axd\b.* $0 [L]

# all requests that have not been stopped by an earlier rule
# end up here ("RP" is the "permanent redirect" flag)
RewriteCond Host: www.\this\.com
RewriteRule .* http://www.that.com$0 [RP,L]
Respondeu 10/12/2008 em 13:58
fonte usuário

votos
0

Se você pode instalar o software em seu servidor IIS, eu recomendo usar uma ferramenta para reescrever seus URLs de solicitação.

Para o IIS 6.0 Eu usei ISAPI_Rewrite e ele funciona muito bem. É leve e muito configurável. Há uma versão "Lite" disponíveis gratuitamente e irá apoiar os seus requisitos.

Você configurar o programa usando um arquivo de texto contendo as regras que correspondem solicitações HTTP e, em seguida, escrever ações a serem executadas quando uma regra é correspondida. Sua instância provavelmente exigiria uma regra geral de redirecionamento (similar ao do IIS) e as regras para suas exceções.

Respondeu 10/12/2008 em 13:52
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more