2011-10-19 9 views
4

複数のドメインを異なるサブディレクトリにリダイレクトしたい。例:複数のドメインをApacheで異なるサブディレクトリにリダイレクトする方法

訪問者がwww.mainme.comへのHTTPリダイレクトを持つドメインwww.cookie.comを使用している場合、訪問者がそこに着くと、Apacheはドメインを検出してmainme.com/cookie

にリダイレクトします

puppy.comと同じです。 mainme.comにリダイレクトされると、ユーザーがそこに着くとmainme.com/puppyにリダイレクトされます

これは.htaccessで実行できますか?

Webフォルダとして/ var/wwwを持つLinuxをサーバとして使用する。

今はVirtualhostを使用していませんが、その方法を学んでください。

答えて

4

私は本当にあなたがwww.mainme.comに転送され

によって何を意味するのか分からない、それはの取得した場合

で転送あなたがそのリダイレクトを変更する必要があるHTTPリダイレクト(最後に/cookieまたは/puppyを添付してください)。 EDIT

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?cookie\.com$ 
RewriteRule ^(.*)$ http://www.mainme.com/cookie? [R,L] 
RewriteCond %{HTTP_HOST} ^(www\.)?puppy\.com$ 
RewriteRule ^(.*)$ http://www.mainme.com/puppy? [R,L] 

:あなたのドメインは、あなたがそれであなたの.htaccesにこのコードを配置する必要が同じのDocumentRootを共有している場合

だから、どこユーザー手がかりとして、HTTPリファラを持っているかもしれませんから来た。これを試してみてください:

RewriteEngine On 
RewriteCond %{HTTP_REFERER} ^http[s]?://(www\.)?cookie\.com(.*)?$ 
RewriteRule ^(.*)$ http[s]?://www.mainme.com/cookie? [R,L] 
RewriteCond %{HTTP_REFERER} ^http://(www\.)?puppy\.com(.*)?$ 
RewriteRule ^(.*)$ http://www.mainme.com/puppy? [R,L] 
+0

私が意味することは、例えば私はpuppy.comを買うことです。その後、ドメインの販売者にこのドメインをmainme.comに転送するよう伝えます。ユーザーがpuppy.comに行くと、彼はmainme.comにリダイレクトされます。この部分では、apacheがpuppy.comからmainme.comにアクセスすると、maineme.com/puppyにそれらをリダイレクトする必要があることがわかります。 –

0

を私は右のあなたを理解願っていますが、「転送」であなたはHTTPリダイレクトを意味するならば、あなたが言うの残りの部分は動作しません。すでにwww.mainme.comにリダイレクトしてその情報を破棄した場合、Apacheがドメインを検出する方法はありません。 (HTTPリファラーは、オフにすることができないため信頼できませんが、リダイレクトの意味がブラウザで一貫しているかどうか、またはブラウザ間で一貫しているかどうかはわかりません)

私はあなたが "ドメイン売り手に言いなさい"とはどういう意味か分かりません。その人ですか、またはレジストラのコントロールパネルで自分で設定を編集するだけですか?しかし、あなたが何か他のことをするように言うことができると言えるのであれば、いずれにしても推測できます。

最も簡単な解決策は、おそらく同じURLの代わりに別のURLにリダイレクトすることです。つまり、www.mainme.com/sitenameに直接アクセスしてください。または、完全なURLではなくドメイン名のみに転送できる場合は、sitename.mainme.comのサブドメインを作成します.www.mainme.com/にアクセスするには、もう一度リダイレクトしてください。サイト名。

それ以外の方法は、各ドメインのIPをmainme.comサーバーに設定し、すべてを通常は仮想ホストとしてホストすることです。必要に応じてリダイレクトできますが、cookie/puppy/etc.comから直接コンテンツを配信することもできます。