3

私のウェブサイトでは仮想ホストを使用しているため、ユーザーは「user1.mydomain.com」、「user2.mydomain.com」などの仮想ドメインを持つことができます...

問題は、'user1.domain.com' のような仮想ドメインでは、インデックス ページが常に私のインデックス ページ 'http://mydomain.com' と同じになることです。

私がやりたいことは、ドメインとサブドメインに 2 つの異なるインデックス ページを用意することです。私の質問は、サブドメインを「index2.php」にリダイレクトし(たとえば)、サブドメインを「user1.mydomain.com」のように見せる方法ですか?

4

3 に答える 3

2

サブドメインごとに完全に個別のドキュメント ディレクトリを設定するのが理想的です。 vhostApacheで行く方法です。ただし、自分のやり方でやりたい場合 (サブドメインが個々のファイルにリダイレクトする場合) は、もう少し手間がかかりますが、それでも実行可能です。まず、mod_vhostwith ワイルドカードを定義します。

<VirtualHost 111.22.33.55>
    DocumentRoot /www/subdomain
    ServerName www.mydomain.com
    ServerAlias *.mydomain.com

    ...
</VirtualHost>

次に、このVirtualHostセットアップ内で、次を使用してルールを書き換えますmod_rewrite

<Location "/">
    RewriteCond %{HTTP_HOST} ^user1.mydomain.com$
    RewriteRule ^\/$ http://www.mydomain.com/index2.php [R=301,L]
    RewriteRule ^\/index.php$ http://www.mydomain.com/index2.php [R=301,L]

    RewriteCond %{HTTP_HOST} ^user2.mydomain.com$
    RewriteRule ^\/$ http://www.mydomain.com/index3.php [R=301,L]
    RewriteRule ^\/index.php$ http://www.mydomain.com/index3.php [R=301,L]

    ...
</Location>

ただし、これはサブドメインに対してのみ適切/に機能することに注意してください。/index.phpこれ以上のことを行う場合は、サブドメインごとに個別のドキュメント ルート ディレクトリを設定することをお勧めします。

于 2012-09-13T14:37:45.093 に答える
0

phpを使用してURLを確認します。サブドメインの場合はindex2.phpをインクルードし、そうでない場合はindex1.phpをインクルードします

あなたが実行しているサーバーを知らなくても、私が考えることができる唯一の方法です。

于 2012-09-13T14:34:33.857 に答える
0

多分あなたはこれに興味があります。

http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html#virtualdocumentroot

これにより、Apache サーバーで、サブドメインに基づくドキュメント ルートを自動的に使用できます。

于 2012-09-13T14:30:25.197 に答える