2017-09-05 9 views
1

同じサーバーを指し、ネームサーバーによって受け入れられている2つのドメイン名がある。私のホストはこれをドメインエイリアスと呼びます。古いワードプレスのブログolddomain.comはブログを運営していましたが、新しいドメインnewdomain.comは改訂されたブログとポートフォリオサイトをホストしています。古いホームページのトラフィックをリダイレクトするが、ブログ投稿を通過する:WordPress&htaccess

私のクライアントは、古いブログトラフィックをキャプチャして通過させたいと考えています。ドメインエイリアスが原因で、すべて正常に動作します。言い換えれば、私は.htaccessファイルに何もせずに、この内部リダイレクトはすでに起こります

http://olddomain.com/year/month/day/post-slug/はすでににリダイレクト: http://newdomain.com/year/month/day/post-slug/

問題は、我々はまた、新しいにolddomain.comホームページトラフィックをリダイレクトする必要があるということですブログのリンク先ページ。古いサイトのホームページはブログでしたが、新しいサイトのホームページは個人のポートフォリオです。そこで、私が行うためにhtaccessファイルを必要とするものである:

  • のために意図されたすべてのトラフィックを取る上で述べたように通過現在のドメイン名を保持し、可能にしたネームサーバによって、私のホストドメインエイリアスの設定旧ホームページとこのようになります新しいブログのランディングページにリダイレクト:

olddomain.com(nothing else here)newdomain.com/blog/(nothing else here)

にリダイレクトする必要があり、私が午前問題は、私その任意のソリューションです上記のリダイレクトの混乱を避けるために、ブログの投稿自体に起こっている自然なリダイレクトを行います。私は両方を同時に持つことができるまでには至りません。 htaccessは、index.phpファイル用に書き換えられる標準のWordPressチャンクも保持する必要があります。

これはolddomain.comnewdomain.com/blog/に書き換えていますが、内部ドメインエイリアスのリダイレクトを許可するのではなく、特定のブログ投稿へのすべての古いトラフィックをホームページに送り返して送信します。

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} (www.)?olddomain.com [NC] 
RewriteRule ^(.*)$ http://newdomain.com/blog/ [R=302,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

ありがとうございます。

答えて

1

あなたはこれらのルールを使用して既存のコードを置き換えることができます。

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

# redirect only landing page to new site's /blog/ URI 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+[?\s] 
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC] 
RewriteRule ^/?$ http://newdomain.com/blog/ [R=307,NE,L] 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 

が新しいブラウザまたはブラウザのキャッシュをクリアした後、それをテストします。

+0

閉じると、私が望むベースレベルのリダイレクトが得られます。しかし、今では '/年/月/日/ポストslug /'のようないくつかのREQUEST_URIのような古いブログ記事をリクエストして '/ blog /'にリダイレクトします。 –

+0

私はそれが以前(ブラウザ/ DNSキャッシング)私を偽造するのを見たので、うまくいきましたと言うのは躊躇しています。私は今日それをチェックし続けますが、それは有望そうです。どうもありがとうございました。一度私が確認することができます。 –

+1

優秀、ありがとうございました。それが私が望むように動作することが複数の人によって確認されました。 –

関連する問題