2009-05-19 6 views
0

ドメインエイリアスをマッピングするにはどうすればよいですか? domainAlias.co.za、例えば、 mainDomain.co.zaとなるので、domainAlias.co.zaへのすべてのリクエストは実際にmainDomain.co.za/domainAliasによって配信されますか?ドメインエイリアスをIIS6の仮想フォルダにマップする

+0

IISのどのバージョンですか?たぶん "IISxで"を追加してください。 –

答えて

0

私はそれを使用していないが、IISはURL Rewrite Moduleできimport Apache mod_rewrite rulesています。 IIS URL Rewriting and ASP.NET routingを比較するドキュメントもあります。いくつかの研究で、あなたはそれを得ることができるはずです。

+0

@ケビン:ありがとう、私はそれらをチェックします。 – ProfK

+0

URL書き換えモジュールはIIS7では動作しますが、以前のバージョンのIISでは動作しません。 – Cheeso

0

ルーティングを使用することができます。

System.Web.Routing 
1

IIRFのようなURLリライタはこれを可能にします。

規則は次のようになります。

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

、このルールは言う:ホストがmaindomain.co.zaではありませんが、それでも.co.zaに終了した場合、それように、URLを書き換えます/ domainAlias /が前に付いています。このルールでは、あなたが得る:

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 

あなたはまた一段階さらに行くとディレクトリの存在に書き換えを条件付きにすることができ、このような何か:

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

をこれは言う:ホスト場合maindomain.co.zaではなく、ディレクトリc:\ wwwroot \ domainAliasが存在する場合は、前に書き換えます。

しかし、その場合、代わりに存在の欠如ディレクトリに移動し、404:

にリダイレクトします
RewriteCond %{HTTP_HOST} ^(?!mainDomain)([^\.]+)\.co\.za$ 
RewriteCond c:\wwwroot\%1 !-d 
RewriteRule ^/(.*)$  - [NF] 

NF = 404

あなたも(紫禁城)503である[F]を行うことができます。

IIRFは、IIS5、IIS6、またはIIS7で動作します。

関連する問題