Como você faz um CMS e os aplicativos asp.net existentes conviverem pacificamente no IIS?

3

Nosso site público existente consiste em uma miscelânea de páginas asp.net com conteúdo predominantemente estático e alguns aplicativos da web reais configurados como diretórios virtuais. Estamos agora olhando para a instalação do Umbraco , que requer que você o instale na raiz do site.

Como o CMS estaria na raiz do site, estou assumindo que é uma má idéia executar nossas páginas e aplicativos web existentes sob o Umbraco (devido à regravação da URL que ele executa e herdando configurações web.config etc. Então, como podemos fazer tudo coexistir pacificamente enquanto fazemos a transição para o CMS e depois que terminamos?

Minha única ideia até agora era configurar o CMS e os aplicativos como sites separados e, em seguida, usar algum tipo de reescrita / proxy reverso de URL para que tudo fosse resolvido corretamente:

  • www.example.com continuaria a ser resolvido para nossa antiga página inicial
  • www.example.com/dept1 continuaria a ser resolvido para a antiga página dept1
  • www.example.com/dept2 seria resolvido para a nova página dept2 no CMS
  • www.example.com/app seria resolvido para um aplicativo da Web existente
por Shea Daniels 26.10.2009 / 21:10

2 respostas

2

Já enfrentei essa situação várias vezes e, a menos que você configure diferentes subdomínios, por exemplo,

  • sub1.example.com (umbraco)
  • www.example.com
  • www.example.com/dept1

é melhor instalá-lo na raiz e configurar os outros aplicativos como diretórios / aplicativos virtuais. Você precisará editar os arquivos de configuração em cada um dos aplicativos filhos para adicionar na parte superior das seções relevantes (connectionstrings, namespace) para parar a configuração em cascata e teste, teste, teste.

A reescrita do URL não é um problema, se você adicionar o nome da pasta raiz de cada aplicativo filho aos diretórios umbracoreservedurls /.

É uma dor que eu conheço - infelizmente é assim que a Umbraco trabalha por enquanto.

    
por 04.11.2009 / 21:09
1

Eu sigo os comentários de Neil, mas responderei como uma resposta para que eu possa formatar melhor minha resposta.

Esta é uma regra do URL Rewrite 2.0 para você:

RewriteCond  Host:  (www\.)?domain\.com
RewriteRule  (?!/domain)(.*)   /domain$2 [I]

Coloque seu site em uma pasta chamada / domain. Obviamente, você pode alterar o URL e a pasta.

Isso garante que qualquer coisa com / domain não redirecione, mas tudo o mais faz. Isso permite que os redirecionamentos do asp.net e outras coisas que o URL Rewrite não esteja ciente ainda funcionem.

    
por 28.11.2009 / 03:05