Usando o IIS6, como posso colocar arquivos em uma subpasta, mas servi-los como se estivessem na raiz?

StackOverflow https://stackoverflow.com/questions/45796

  •  09-06-2019
  •  | 
  •  

Pergunta

Nosso site ASP.NET 3.5 rodando em IIS 6 tem duas equipes que estão adicionando conteúdo:

  • Equipe de desenvolvimento adicionando código.
  • Equipe de negócios adicionando páginas web simples.

Por questões de sanidade e organização, gostaríamos que a equipe de negócios adicionasse suas páginas da web a uma subpasta no projeto:

Raiz:para páginas da equipe de desenvolvimento

Contente:para páginas da equipe de negócios

Mas

Gostaríamos que os usuários pudessem navegar até o conteúdo da equipe de negócios sem precisar anexar "Conteúdo" em seus URLs, conforme descrito abaixo:

Raiz:Padrão.aspx (Disponível em:www.oursite.com/default.aspx)

Contente:Pipoca.aspx (Disponível em:www.oursite.com/popcorn.aspx)

Existe uma maneira de criar uma entrada de configuração em uma ferramenta de reescrita ISAPI para cada uma dessas páginas?

Foi útil?

Solução

Não tenho como testar isso agora, mas acho que você pode usar o sinalizador -f no RewriteCond para verificar se existe um arquivo em qualquer diretório.

RewriteCond %{REQUEST_FILENAME} -!f
RewriteCond Content/%{REQUEST_FILENAME} -f
RewriteRule (.*) Content/(.*)

Algo assim também pode fazer o que você procura.

Outras dicas

Como as extensões serão ASPX, o ASP.NET atenderá a solicitação...você pode escrever um HttpModule que verifica páginas que geram 404 e, em seguida, verificar também a subpasta.

Se você sabe que todas as páginas com um determinado formato virão dessa pasta, basta reescrever a URL no ASP.NET (em Global.asax ou em um HttpModule).

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