Pergunta

Eu configurar página 404 manipulador no web.config, mas ele só funciona quando a extensão de URL é aspx (ou outro que é tratado pelo ASP.NET). Eu sei que posso página HTML configuração estática nas opções do site, mas eu quero ter uma página. Existe alguma opções para atribuir página manipulador ASPX para todas as extensões de solicitação no IIS?

Foi útil?

Solução

A pergunta direta era ou não existem opções para atribuir o manipulador ASPX para todas as extensões de solicitação: Sim, existe. Vou discutir como fazer isso em breve.

Em primeiro lugar, acho que o "oculto" pergunta - a resposta que você realmente quer - se é ou não há uma maneira de redirecionar todos os 404 erros para outras páginas do que ASPX, ASMX, etc. Sim, existe, e isso é o melhor escolha se ele vai resolver o problema que está tendo.

Para redirecionar todos os 404s em IIS 6, clique direito a raiz do seu aplicativo web (seja o seu próprio site ou um diretório virtual no site principal), e escolha "Propriedades". De lá, escolha a aba "Custom Errors". Encontre 404 na lista e alterá-lo para o redirecionamento você deseja.

Agora, se isso não será suficiente - e eu realmente espero que isso - sim, você pode executar todas as páginas por meio do manipulador ASPX. No entanto, isso tem um custo bastante elevado em termos de eficiência -. HTML bruto / imagem porção é consideravelmente mais rápido do que qualquer coisa dinâmica

Para fazer isso, clique direito a raiz do seu aplicativo web e escolha "Propriedades". Escolha a guia "Home Directory". Clique em "Configuração"; uma nova janela irá aparecer. Copie o caminho de um dos saques página ASP.NET, e então usá-lo para um mapa de aplicativo curinga.

Tenha em mente, mais uma vez, este é o resposta errada a maior parte do tempo. Ele vai impactar negativamente o seu desempenho, e é o equivalente a usar uma serra elétrica para esculpir um peru. Eu recomendo a primeira opção sobre este, se ele vai trabalhar para você.

Outras dicas

Para obter informações:

Esta é uma das várias coisas agradáveis ??que IIS7 traz - todas as páginas são encaminhados através do manipulador de tal forma que você pode fazer 404s personalizadas e - útil - segurança de diretório e nível de arquivo para qualquer arquivo (com base no mesmo material web.config como para arquivos asp.net antes de IIS7).

Assim, teoricamente "uso II7" é uma resposta (será "a" resposta no tempo) - mas é claro que não é um terrivelmente prático se você não está hospedando / sendo hospedado em W2k8 (ou superior)

O web.config só pode configurar erros páginas para páginas por ela controladas da web site. Se você tiver quaisquer outras páginas fora do alcance da aplicação ASP.Net, então você configurar manipulação para eles no IIS. Há uma opção lá para configurar a página 404, onde pode apontá-lo para sua página personalizada.

única coisa que eu posso pensar é passar todas as extensões para asp.net.

Desta forma, todos os tipos de arquivos são processados ??pelo asp.net e sua página de erro personalizada vai funcionar.

Na configuração de aplicações do IIS, você pode definir um mapeamento de curinga para C ( "*".): \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll

  1. Você pode configurar mapeamento curinga no IIS (Aplicação de configuração / Mapeamentos / Wildcard mapeamentos / - apenas definir aspnet_isapi.dll como executável e desmarque a Verifique se arquivo de caixa de existir) que rota vontade todas as solicitações recebidas para a sua aplicação - para que você possa controlar o comportamento diretamente a partir dele.

  2. Você não tem que página estática configuração nas configurações do seu IIS aplicação. IMHO, você deve ser capaz de configurar url válido (por exemplo /error_handler.aspx) do seu aplicativo que será usado como página de destino em caso de erro de servidor específico.

No IIS você pode definir um erro personalizado para erros 404 e encaminhá-lo para um URL nas propriedades do site.

Ela mostra um HTML estático por padrão C: \ WINDOWS \ help \ iisHelp \ common \ 404b.htm

Você pode alterá-lo para um URL relativo no seu site.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top