Mapa Domínio Alias ​​a pasta virtual no IIS6

votos
0

Como eu poderia ir sobre o mapeamento de um alias de domínio, por exemplo domainAlias.co.za, para uma pasta virtual em, por exemplo mainDomain.co.za, de modo que todas as solicitações para domainAlias.co.zarealmente obter servido por mainDomain.co.za/domainAlias?

Publicado 19/05/2009 em 18:30
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

A Rewriter URL como RIFI permite que você faça isso.

As regras seriam:

RewriteCond %{HTTP_HOST}  ^(?!mainDomain)([^\.]+)\.co\.za$
RewriteRule ^/(.*)$       /%1/$1   [L]   

Em Inglês, esta regra diz: Se o host não é maindomain.co.za, mas ainda termina em .co.za, então reescrever a URL para que ele seja prefixado com / domainAlias ​​/. Com essa regra, você obtém:

input                         output
-----                         ------
http://foo.co.za/a.php        http://main.co.za/foo/a.php
http://foo.co.za/a.aspx?r=1   http://main.co.za/foo/a.aspx?r=1

Você também pode ir um nível mais e fazer a reescrita condicionada à presença do diretório, algo como isto:

RewriteCond %{HTTP_HOST}   ^(?!mainDomain)([^\.]+)\.co\.za$
RewriteCond c:\wwwroot\%1  -d
RewriteRule ^/(.*)$        /%1/$1   [L]   

Isto diz: se o host não é maindomain.co.za, eo diretório c: \ wwwroot \ domainAlias ​​existe, então reescrever para preceder ....

Mas, nesse caso você pode, em vez quer fazer o inverso - teste por falta de existência do diretório - e redirecionar para um 404:

RewriteCond %{HTTP_HOST}   ^(?!mainDomain)([^\.]+)\.co\.za$
RewriteCond c:\wwwroot\%1  !-d
RewriteRule ^/(.*)$        -   [NF]   

NF = 404

você também pode fazer [F], que é uma 503 (proibido).

RIFI funciona em IIS5, IIS6, ou IIS7.

Respondeu 15/07/2009 em 02:09
fonte usuário

votos
0

Eu nunca usei isso, mas IIS tem um Rewrite Module URL que pode importar regras mod_rewrite do Apache . Há também um documento que compara roteamento IIS URL Reescrevendo e ASP.NET . Com alguma pesquisa, você deve ser capaz de conseguir que trabalho.

Respondeu 19/05/2009 em 22:31
fonte usuário

votos
0

Você pode usar roteamento.

System.Web.Routing
Respondeu 19/05/2009 em 18:44
fonte usuário

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