4

http://gfd.usインターネットに公開したいWeb サイト ( ) をローカルでホストしています。NoIP私は、(サービスから) 公開されている第 2 レベルのドメイン名を持っています。これは、私の IIS サーバーhttp://myname.ddns.netを指しています。Default Web Site

ここでの問題は、内部 Web サイトが第 2 レベルのドメイン名、つまりhttp://secondname.gfd.us.

現在、この問題を解決するためmod_rewriteに、特定のポートにバインドすることにより、IIS のモジュールを使用しています。

mod_rewriteルール パラメータ

  1. パターン -(.*)
  2. 調子 -{SERVER_PORT} = 91
  3. URL を書き換える:http://secondname.gfd.us/{R:1}

すべてが期待どおりに機能し、開くhttp://myname.ddns.net:91と実際に内部 Web サイトが開きますhttp://secondname.gfd.us

ここで気に入らないのは、公開された Web サイトに別の第 2 レベル ドメイン名を使用する必要がある場合、つまりhttp://coolname.gfd.us、別のルールを別のポートにバインドする必要があることです。これをもっとダイナミックにしたい。

パターンをこのように変更し(.*)\gfd_(.*)、書き換え URL をに変更しようとしましたがhttp://{R:2}.gfd.us/{R:1}、期待どおりに動作しません。サイトをhttp://myname.ddns.net:91/gfd_coolname開くと、必要な第 2 レベルのドメイン名でサイト自体が開きますが、正しく書き換えられていないため、CSS、JS、および画像ファイルのすべてが間違った URL を指しています。

これを使用して達成することは可能mod_rewriteですか?

4

1 に答える 1

0

おそらく、この Web サイトのmod_rewrite多くのホスト ヘッダーを破棄して構成する必要があります。

そのためgfd.us、ホスト ヘッダーを使用して同じ IP とファイルの場所の構成を追加する必要があります。myname.ddns.net

また、必要に応じてIIS10以降、ワイルドカードを使用できるようです。

于 2015-12-16T16:48:09.520 に答える