できるだけ短くするために、私は仕事で2つのドメインを持っています。第1ドメインのサブフォルダを指す第2ドメインはIIS 8のポートを書き換えませんURL書き換え
最初のドメインは、第二のドメインがwww.site2にあるサーバー2012
、IIS 8でサイトの定期的なセットアップを指し、www.site1.comで私達のメインドメイン(ポート80)であります.com(ポート8085)ですが、私がSOで見つけた巧妙なURL書き換えウィザードを使用すると、www.site2.comはwww.site1.com/site2/を指し示しますが、それが自分のドメインであるかのように動作します。これは、.NET環境でsite1とsite2の間でアセットを共有するために行いました。
私はDNSレベルのコントロールを持っていませんが、サーバーの管理者とその設定を持ち、両方のサイトのすべてのURL書き換えを自分で行っています。サイトをHTTPSに設定できるように、www.site2.com(ポート444)にSSL証明書をインストールするリクエストを受け取りました。この問題はすでにHTTPに存在するため、問題自体には関係しません。
問題は、別の開発者が証明書とポートの設定をテストできるようにするためです。現時点では、これはHTTPでも可能ではありません。サーバーのwww.site1.com:80に入力すると正常に動作しますが、www.site2.com:8085では正常に動作しません。 site2は、www.site2.com:80を追加するか、www.site2.comを入力するだけで正しく接続されます。サイト1のサブフォルダとして書き直されているため、site2は正しく接続されます。
開発者がwww.site2.com:8085を入力してポート構成をテストできるように、私はURLのポートを書き直して書き直すためにすべてを試しました。 URLは解決されません。
www.site2.comはテストとプロダクションの両方でうまく動作し、長年にわたり機能するため、バインディングも正しく設定されています。正しいポートがURLに追加された場合にのみ動作します。
これは、そのままリライトをトリガーするだけのコードです:
<rule name="www.site2 redirect" enabled="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^(www.)?site2.com$" />
</conditions>
<action type="Rewrite" url="/site2/{R:0}" />
</rule>
任意およびすべてのヘルプをいただければ幸いです。ありがとう。あなたはこのように、ちょうどあなたの書き換えルールに1以上の条件を追加することを行うことができます
私は両方の例を試しました。どちらのポートでも、ポートが追加されたときにサイトが解決することはできません。これらの新しいルールが適用されても、サイトはポートなしで動作します。 – Followmarko
私は信じられません。私はそれを2回テストし、両方とも動作しています。あなたの設定が変更された後、ウェブサイトを再起動しましたか? –
運がありません。あなたの最初の例を正確に使用し、書き換えルールをリストの先頭に置きました。その後、WebサイトとWebサーバーを再起動しました。あなたが欠けているかもしれないサイトバインディングに何かを追加しましたか? – Followmarko