1

ここ数時間、.htaccess の書き換えについて学んでいました。私はそれを正しくすることができませんでした。SOに関する彼女の投稿をたくさん読みましたが、問題を解決できません。これは私の状況です:

www.example.com 

にリダイレクトします

example.example2.com

ここで、URL に元のドメインを表示したいと考えています。私はこれを持っています:

RewriteCond %{HTTP_HOST} ^example\.example2\.com/$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

これはうまくいきません。www.example.com の代わりに example.example2.com がまだ表示されます

.htaccess ファイルは、サブドメインのフォルダーの最上位にあります。

これは私にとって新しいことであり、インターネットで見つけた例から思いついたものです。誰かがこれを正しくする方法を教えてもらえますか?

どうもありがとう

編集:

  1. Drupal マルチサイト構成をインストールしようとしています。hereおよびhere で説明されているように、私の問題は .htaccess 命令で解決できるように見えました。このため、SO の Drupal 部分ではなく、ここに投稿しました。Drupal マルチサイト構成の考え方は、すべてのトラフィックを分割払いに転送し、要求に応じて区別することです。

  2. www.example.com から example.example2.com へのリダイレクトを直接制御することはできません。私のホスティング会社は、直接リダイレクトまたはフレーム経由を提供しています。いずれかをフォームで確認できます。彼らが何をしているのか私にはわかりません。直接リダイレクトすると、URL が からにwww.example.com変わりますexample.example2.com(Drupal がインストールされている場所)フレームを選択すると、URL は (もちろん) 同じままですが、リンクにカーソルを合わせると example.example2.com の ID が表示されます。

  3. マルチサイト構成から始めたわけではありません。マルチサイトの手順のように移動example.exampl2.comします。www.example2.com/sites/www.example.comその間、サイトは にありexample.example2.comます。しかし、それは私が 2 つの分割払いを維持する必要があることを意味し、これは好ましくありません。だから私はのようにexample.example2.com見えるようにすることから始めましたwww.example.com。そうすれば、少なくとも訪問者は違いに気付くことはありません。

私は今これを持っています

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{HTTP_HOST} ^example\.example2\.nl$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R]

そして、それはループになります。

4

2 に答える 2

0

まず、要件を逆にします。example.example2.comおそらく にリダイレクトしたいと思うでしょうwww.example.com

あなたがやろうとしている第二のことは、mod_proxy サポートのみで可能になります。mod_proxy を有効にしhttpd.confてから mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^example\.example2\.com$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,P]

ここでのフラグPは、mod_rewrite でのプロキシ サポートに使用されることに注意してください。

于 2013-04-18T22:54:34.620 に答える