2017-11-21 21 views
1

私はサーバを持っています。 2つのURLがそれを指している123.123.123.123 .htaccess複数のサブドメインの書き換え

www.mysite.comと api.mysite.com

私はそれは、このようなwww.mysite.comが123.123.123.123/にリダイレクトすることを作るのですかフロント api.mysite.comは123.123.123.123/apiにリダイレクトされますか?

(www.mysite.com)は、アドレスバーにwww.mysite.com/frontを表示しないでください。

ありがとうございます!

RewriteCond %{HTTP_HOST} ^example.com$ 
    RewriteRule ^$ http://example.com/Front/index.php 
+0

なぜ仮想ホストを使用していないのですか? –

答えて

1

あなたのサイトのルートに.htaccessでこれらの2つのルールを使用することができます:次のようにあなたの質問の部分的な解決策は、可能性が

+1

はい@anubhavaそれは私が意味したものです –

+0

@anubhavaごめんなさい.htaccessでプロではないので、私はこれをかなり理解していません。あなたが私のためにこの疑いを晴らすことができれば、それを覚えているでしょう:RewriteCondは条件ですよね?したがって、 'RewriteCond%{HTTP_HOST}^api¥.example¥.com $ [NC]は、api.example.comを満たしていればuncasedを意味します。 'RewriteRule!^ api/api%{REQUEST_URI} [L、NC]'を実行すると、URLがapi.example.com/api/ではない場合、api.example.comを実行しますか?前もって感謝します。 – phantomhive

+0

あなたはそれを正しく解釈しました。 '^(www \。)?'はあなたの答えの両方の条件を組み合わせます。 'RewriteCond%{HTTP_HOST}^api \ .example \ .com $ [NC]は、要求のホスト名が' api.example.com'である 'RewriteRule'を実行することを意味します。 'RewriteRule!^ api/api%{REQUEST_URI} [L、NC]は、'/api/'で始まらないREQUEST_URIルールを実行することを意味します。 'api%{REQUEST_URI}'は、現在のURIを '/ api'パスに追加することを意味します。 – anubhava

0

RewriteEngine On 

# route www.example.com and example.com 
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] 
RewriteRule !^front/ Front%{REQUEST_URI} [L,NC] 

# route api.example.com 
RewriteCond %{HTTP_HOST} ^api\.example\.com$ [NC] 
RewriteRule !^api/ api%{REQUEST_URI} [L,NC] 

RewriteRule !^front/は負の条件を用いたパターンマッチングされますつまり、REQUEST_URI/front/で始まらない場合にこのルールを実行することを意味します。

+0

OPはURLにサブフォルダのパスを表示させたくないため、これは機能しますか? – Kallmanation

+0

私はそれが動作すると思う –

+0

うん、それは動作しません。一番近いものはRewriteRule ^(。*)$ front/$ 1 [L]でした。これはwww.mysite.comを123.123.123.123/frontにリダイレクトし、サブフォルダのパスを表示せずにapi.mysite.comを破棄します123.123.123.123/front/api/ – phantomhive

0

htaccessではあまりうまくいかないが、私はマナ

RewriteCond %{HTTP_HOST} www.mysite.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^mysite.com [NC] 
RewriteRule ^(.*)$ front/$1 [L] 
+0

2つのセパレート条件は必要ありません。上記の私の答えを参照してください。 – anubhava

+0

確かに似ていますが、^(www \。)?は両方の条件を組み合わせています。 2行目の仕組みがわからない。以下にコメントします。 – phantomhive