2011-07-20 17 views
3

何秒かの遅延で301リダイレクトを行う最良の方法は何ですか?元のページを5〜10秒間表示してから、別のサイトに301のリダイレクトをします。私はPHPでgoogle上で多くのソリューションを見つけましたが、遅れて見つかった唯一のものは、リダイレクトする前に元のページを表示せず、空の画面だけでした。数秒の遅延で301リダイレクトを行う最善の方法は?

答えて

5

は、あなたが本当に真301が遅延してリダイレクトすることができないけれども第二の溶液を選択することをお勧めします。 HTTPはステートレスです。あなたがGoogleを幸せにしようとしているなら、あなたが望むものである "301リダイレクト"のために。クライアントからリクエストが送信され、サーバーからの返信のステータスコードは301になります。返信の一部として、場所ヘッダーを使用して新しいコンテンツの場所を通知します。もしあなたがそれをすべて持っていなければ、あなたは301のリダイレクトをしていません。

もう1つの答えでは、クライアントサイドでメタリフレッシュを実行していますが、これはGoogleが好きではありません。

これは301を実行する方法であり、ユーザーは古いページをまったく表示しないため、リダイレクトされたとは思われません。

$location="http://www.yoursite.com/newpage"; 
header ('HTTP/1.1 301 Moved Permanently'); 
header ('Location: '.$location); 
+0

ありがとうございます。私はすでにちょっと考えていた解決策をgoogleで検索した後。私は今は遅延302をしてから、ほとんどの人が遅延画面を見ている数週間で301に切り替える必要があるだろうと思う。 – oliverwhite

7
You're being redirected 
<META HTTP-EQUIV="refresh" CONTENT="5;URL=the-other-page.html"> 

またはPHP

header('refresh: 5; url=/the-other-page.html'); 
echo 'You\'re being redirected'; 

+1

「ページが更新されない場合はここをクリック」を追加することを忘れないでください。パニック状態の人々がリフレッシュを無効にし、どこに行くべきかを簡単に知る方法がありません。 – Wrikken

+0

いつでも動作するphpソリューションを追加しました(私もそうだと思います) – genesis

+0

@oliverwhiteクライアントサイドのリダイレクトよりもサーバー側のリダイレクト(例#2)を優先するべきです。また、HTTPステータスコード(301または302)を追加して、これが永続的なリダイレクトであるか一時的なリダイレクトであるかを判断する必要があります。 – feeela

0

あなたは符号化タイプではありませんが、あなたは驚くほど多彩な無料のツールをしたい場合は、私はこのプラグインは、Wordpressのリダイレクトを処理することができます

https://wordpress.org/plugins/quick-pagepost-redirect-plugin/

In this case you want to use a meta redirect.

クイックPagepostリダイレクトプラグインを支持しますメタリダイレクト(遅延が必要な場合)

これは、301,302,307、およびメタリダイレクト。 404を避けるためにURLを追加することもできます。

サイトをアップグレードすると、ページのURLを変更し、SEOの順位を維持したいしている場合、これは私の友人が使用するツールです(彼はプロだ)

これはそれをすべて行いません - 何のコーディングを。

免責事項:私はこれらの人とは何ら関係していません。

関連する問題