0

そのため、多くの Web アプリでは、顧客が独自のサブドメイン、つまり mycompany.webapp.com を選択する必要があります。

おそらく、すべてのサブドメインは同じファイルのセットで機能し、一意のサブドメインはおそらくセッション オブジェクトとして保存されます。では、URL の書き換えはどのように機能するのでしょうか。

誰かが mycompany.webapp.com にアクセスした場合、その固有のアドレスを動的ページに書き換えて、セッション変数を設定する必要があります (例: webapp.com/mypage.php?cusomer=mycompany)。

しかし、リダイレクトすると、mycompany.webapp.com/ ではなく、webapp.com/theappdirectory/ になります。

それで、彼らはどのようにそれをしますか?

PS は IIS を実行していますが、その方法はどのサーバーでも同じである必要があります。私たちにとって大きなことは、webapp.com/theappdirectory/mycompany/somefile.html を実行できないことです。つまり、すべてのファイルが 1 つのディレクトリに存在するため、サブドメインをマスクしたまま、何らかの方法でセッション変数を設定する必要があります。

4

2 に答える 2

0

リダイレクトは内部で発生する可能性があります。

RewriteCond %{HTTP_HOST} ^([^./]+)\.example\.com$
RewriteCond %1 !=www
RewriteRule ^ mypage.php?customer=%1

これを機能させるには、すべてのサブドメインを受け入れるようにサーバー/仮想ホストを構成する必要があります(たとえば、名前ベースの仮想ホストのサポートを参照)。

于 2010-05-16T14:07:09.380 に答える
0

任意の Web アドレス (サブドメインを含む) は、DNS を使用して IP アドレスにマップされます。

  1. これで、これらのアドレスを別の Web サーバーにマップして、documentroot を任意に設定できます。

  2. しかし、複数のドメイン/サブドメインが同じ物理マシンでホストされている場合、あなたの質問は理にかなっています。Apache を使用している場合、同じサーバーでホストされている異なるドメインを論理的に分割するために使用できるこの仮想ホスト設定があります。基本的に、ホストアドレス(x.example.com、y.example.comなど)またはIPアドレスを、DocumentRoot、PHPAdmin値などの初期パラメーターを設定する仮想ホストにマップします..

詳細については、 http ://httpd.apache.org/docs/2.0/vhosts/examples.htmlおよびhttp://httpd.apache.org/docs/1.3/vhosts/を確認してください。

于 2010-05-16T14:23:33.573 に答える