2016-10-06 3 views
1

現在example.com/directory/にウェブサイトが設定されています。/directory /はサブドメインに応じて異なる内容を表示するように設定されており、その部分は正常に動作しています。私はhttpd.confファイルを正しく編集するのに問題があります。sub.example.comをsub.example.com/directory/にリダイレクトするときに問題が発生する

明らかに私は、example.comとexample.com/directory/を指すようにsub.example.comのAレコードしか設定できないので、私はこの問題を回避するためにhttpdでいくつかのルールを設定しましたが、彼らは働いていないようです。しかし起こっているように見える何

RewriteCond %{HTTP_HOST} ^sub1\.example\.com$ [NC] 
RewriteRule ^((?!directory).*)$ /directory/$1 [NC,L] 

RewriteCond %{HTTP_HOST} ^sub2\.example\.com$ [NC] 
RewriteRule ^((?!directory).*)$ /directory/$1 [NC,L] 

は、これらのルールはただexample.com/directoryと完全にサブドメインをドロップするように、各サブドメインを指示している:これは私がこれまで持っているものです。私はここで変更する必要があるものとして少し失われている、私はあまりApacheに精通していない。

私はこれが単純であるべきだと知っていますが、わかりやすいドキュメントを見つけることができないと思います。誰かがポインタを持っていますか?

答えて

1

は、あなたは、このような各サブドメインのために別々のサブディレクトリを使用する必要があります。folder1sub1ドメインとfolder2ためのサブディレクトリをある

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^sub1\.example\.com$ [NC] 
RewriteRule ^((?!folder1/).*)$ folder1/$1 [NC,L] 

RewriteCond %{HTTP_HOST} ^sub2\.example\.com$ [NC] 
RewriteRule ^((?!folder2/).*)$ folder2/$1 [NC,L] 

sub2ドメインのサブディレクトリです。

+0

私はMagentoを/ folder /にインストールしているので、別のサブディレクトリは使用できません。Magentoはアクセスするドメインを使用して表示するコンテンツを決定します。あなたの例のコードは私に400 Bad Requestエラーを与えます。 'RewriteRule ^((?! folder /).*)$/folder/$ 1 [NC、L]'のようなスラッシュを追加するとexample.com/folderに送られます。 – user24601

+1

誰もが読んでいるが、これは正しいが、私は.htaccessファイルに他の多くのmod_rewriteルールがあることに気付かなかった。私は先に進み、httpd.confではなく、ベースディレクトリの.htaccessファイルにこれらのルールを入れて、すべてうまくいきました。 – user24601

関連する問題