2017-07-20 7 views
0

私が働く会社は3軒のレストランをオープンしています.1つは他のものとは異なる名前です。サイトはロゴとコンテンツを除いて同じです。このため、私はドメインエイリアスを設定しており、すべて正常に動作します。.htaccessドメインエイリアスを特定のページにリダイレクト

  • domain1.com = domain2.com
  • domain1.com/example1/ = domain2.com/example1/

しかし、彼らは私がそのようdomain2.comをリダイレクトしたいのですが、代わりに、domain1.comのホームページの、人々はここで

をdomain2.com/example1/に送られ、私がこれまで持っているものです。

RewriteCond %{HTTP_HOST} ^www\.domain2\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/example1/?$ 
RewriteRule ^(.*)$ http://domain2.com/example1/ [R=302,L] 

RewriteCond %{HTTP_HOST} ^www\.domain1\.com$ [NC] 
RewriteCond %{REQUEST_URI} ^/example1/?$ 
RewriteRule ^(.*)$ http://domain2.com/example1/ [R=302,L] 

これは動作します...並べ替え。

だけにリダイレクトします!ない完全...

例:

HTTP_HOST 'のhttp://domain2.comは' これは(WORKS)

  • ドメイン2をwww.domain2.com/page/する
    • domain2.com

      を動作します。 HTTP_HOST 'のhttp://www.domain2.com'

      である場合には(LOOPリダイレクト)

    をdomain2.com/page/するCOM

    • www.domain2.com domain2.com/page/へ(WORKS)
    • www.domain2.com www.domain2.com/page/し、私はしました
  • +0

    コメントが書式設定されていません...私は例を使って質問を更新しました。 –

    +0

    ネガティブ、それはWordPressサイトなので、ページはどのディレクトリにも配置されていません。私がしたいのは、domain2.comを特定のページにリダイレクトしながら、ドメインエイリアスの機能を維持することです。それが意味をなさないならば。 –

    +0

    私は、HTTPリクエストを監視するためにFiddlerというプログラムを使用していましたが、それは何も示していません。最初の302リダイレクトの後、タイムアウトするまで302リダイレクトを続けます。私はいくつかの部分を台無しにしている必要があります... –

    答えて

    0

    (LOOPリダイレクト)ついにそれが働いた。

    私はこのように見えるために私のhtaccessファイルを更新しました:

    RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ [NC] 
    RewriteCond %{REQUEST_URI} ^/$ 
    RewriteRule ^(.*)$ http://domain2.com/example1/ [R=302,L] 
    

    だから、トリックがことになった:

    RewriteCond %{REQUEST_URI} ^/$ 
    

    私はそれがだ、%{REQUEST_URI}は常に先頭のスラッシュが含まれていることを読みます空ではないので、それだけが含まれているかどうかをチェックすることで、リダイレクトを整えることができました。

    次に、HTTP_HOST場合www.domain2.com

    • するRewriteCondの%{HTTP_HOST} ^(WWW。)?DOMAIN2です。comの$ [NC] = TRUE
    • するRewriteCondの%{REQUEST_URI} ^/$ = TRUE
    • リダイレクト!

    そして、HTTP_HOSTがwww.domain2.com/example1/ある場合

    • するRewriteCondの%{HTTP_HOST} ^(WWW。)?domain2.com $ [NC] = TRUE
    • RewriteCond%{REQUEST_URI} ^/$ = FALSE
    • リダイレクトしません!うわー!
    関連する問題