2013-04-13 7 views

答えて

14

/** 
* Header Redirect 
* 
* Header redirect in two flavors 
* For very fine grained control over headers, you could use the Output 
* Library's set_header() function. 
* 
* @access public 
* @param string the URL 
* @param string the method: location or redirect 
* @return string 
*/ 
if (! function_exists('redirect')) 
{ 
    function redirect($uri = '', $method = 'location', $http_response_code = 302) 
    { 
     if (! preg_match('#^https?://#i', $uri)) 
     { 
      $uri = site_url($uri); 
     } 

     switch($method) 
     { 
      case 'refresh' : header("Refresh:0;url=".$uri); 
       break; 
      default   : header("Location: ".$uri, TRUE, $http_response_code); 
       break; 
     } 
     exit; 
    } 
} 

PHPヘッダー。これらは、ページをリロード(またはリダイレクト)するために使用できる2つのメソッドです。

Location:ヘッダーでは、クライアントのブラウザに3xx status code(通常は301または302)を送信していますが、これは通常コンテンツが一時的に移動したことを示します。適切なコードを使用すると、リダイレクトを行う理由について、クライアントに詳細な情報が提供されます。これは特に検索エンジンにとって有用です。

また、ブラウザはリダイレクトを行う前にすべてのページのコンテンツをダウンロードする必要はありませんが、サーバーからステータスコードを取得するとすぐにそれを行い、代わりに新しいページに移動します。この方法で、ブラウザの「戻る」ボタンを壊さないようにします。

RefreshメタタグまたはHTTPヘッダーを使用すると、クライアントのブラウザまたは元のコンテンツや新しいコンテンツに関する情報を示すことなく、ページを更新する要求がクライアントのブラウザに送信されます。ブラウザは最初にすべてのページコンテンツをダウンロードしなければならず、その後、リフレッシュで指定された時間(秒)後に、別のページ(通常は0秒)にリダイレクトされます。

また、ユーザーがブラウザの「戻る」ボタンを押すと、前のページに移動して再びリフレッシュを使用し、次のページに移動します。ボタン。

以上はW3Cの記事によるものです。

関連する問題