11

1 つのドメインと 1 つのサブドメイン (モバイルおよびクライアント用) を持つ共有ホスティングがあります。各ドメインとサブドメインには、異なるデフォルトのインデックス ページがあります。ホスティング会社は、httpd.conf にアクセスできないので、すべてを .htaccess ファイルに入れるように言いました。

私がやりたいことはこれです:

  1. ユーザーが domain1.com にアクセスすると、次のDirectoryIndexようになります。index.html
  2. ユーザーが mobile.domain1.com にアクセスすると、次のDirectoryIndexようになります。mobile-index.html
  3. ユーザーが post.domain1.com にアクセスすると、次のDirectoryIndexようになります。post.php
  4. ユーザーがvote.domain1.comにアクセスすると、次のDirectoryIndexようになります。vote.php

編集: さらに、domain1.com/page/ にアクセスすると、次のようにDirectoryIndexなりますindex.html。mobile.domain1.com/page/ にアクセスすると、次のようにDirectoryIndexなります。mobile-index.html

DirectoryIndex各サブドメインを変更するために、.htaccess ファイルに何を入れることができますか?

どうもありがとう

4

3 に答える 3

18

<IfDefine>そのようには機能しません。<IfDefine>apache の起動時にのみ実行されます。mod_rewrite ソリューションを使用する必要があります。@tzakrajs の回答を表示します。

これを .htaccess ファイルで使用できます。

SetEnvIf Host ^www\. page=www
SetEnvIf Host ^mobile\. page=mobile
rewriterule ^.*$ test.php?subdomain=%{ENV:page} [QSA,L]

を使用してすべてのサブドメインを構成するだけでSetEnvIf、PHP に魔法をかけるだけです。

于 2011-09-01T22:40:08.223 に答える
2

これを試して:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain1.com$
RewriteRule ^.*/$ index.html [R=302,L]
RewriteCond %{HTTP_HOST} ^mobile.domain1.com$
RewriteRule ^.*/$ mobile-index.html [R=302,L]
RewriteCond %{HTTP_HOST} ^post.domain1.com$
RewriteRule ^.*/$ post.php [R=302,L]
RewriteCond %{HTTP_HOST} ^vote.domain1.com$
RewriteRule ^.*/$ vote.php [R=302,L]
于 2011-09-01T11:53:38.183 に答える
-1

次のように oyur.htaccessファイル だけを使用して設定できます。

RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ [NC]
RewriteRule DirectoryIndex index.html

RewriteCond %{HTTP_HOST} ^mobile.domain.com$ [NC]
RewriteRule DirectoryIndex mobile-index.html

...
于 2016-03-24T14:01:08.180 に答える