PHP でヘッダージャンプを実装する方法と注意事項:
header() 関数は、PHP でページジャンプするための非常に便利なメソッドです。簡単な方法。 header() 関数の主な機能は、HTTP プロトコル ヘッダー (ヘッダー) をブラウザに出力することです。
header() 関数は次のように定義されます。
void header (string string [,bool replace [,int http_response_code]])
オプションのパラメーター replace は、以前の同様のヘッダーを置き換えるか、同じタイプのヘッダー (www.php.php.php) を追加するかを示します。 cn) ヘッダー、デフォルトでは置換されます。
2 番目のオプションのパラメータ http_response_code は、HTTP 対応コードを指定された値に強制します。 header 関数の Location タイプ ヘッダーは特別なヘッダー呼び出しであり、ページ ジャンプの実装によく使用されます。注:
1.location と「:」記号の間にスペースを入れることはできません。スペースを入れないとジャンプしません。
2. ヘッダーを使用する前に出力を行うことはできません。
3.ヘッダー以降の PHP コードも実行されます。たとえば、ブラウザを php.cn
<?php //重定向浏览器 header("Location: https://www.php.cn"); //确保重定向后,后续代码不会被执行 exit; ?>
1 にリダイレクトします。PHP ジャンプ コードを 1 文で表現します:
<?php $url = $_GET['url']; Header("Location:$url"); ?>
2. PHP ジャンプ コード if 判定:
次のようにコードをコピーします:
if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');//设置cookie长期有效 header('location:zc.html');
Note: zc.php として保存します。ユーザーが zc.php にアクセスしたときに、Cookie が存在するかどうかを確認します。存在する場合は (www.php . cn) は register.php にジャンプします。存在しない場合は、Cookie を作成して zc.html にジャンプします。
URL リダイレクト関数
function redirect($url, $time=0, $msg=”) { //多行URL地址支持 $url = str_replace(array(“n”, “r”), ”, $url); if ( empty($msg) ) $msg = “系统将在{$time}秒之后自动跳转到{$url}!”; if (!headers_sent()) { // redirect if (0 === $time) { header(‘Location: ‘ . $url); } else { header(“refresh:{$time};url={$url}”); echo($msg); } exit(); } else { $str = “<meta http-equiv='Refresh' content='{$time};URL={$url}'>”; if ($time != 0) $str .= $msg; exit($str); } }
上記では 404 ステータスを返すことはできません。ページがジャンプした後に 404 ステータス コードが返される場合は、次の手順を実行できます。
function getref() { $url = @$_SERVER['HTTP_REFERER']; if( !empty( $url ) ) { if( !strstr($url ,'jb51.net' ) && !strstr($url,'jb51.net')) { @header("http/1.1 404 not found"); @header("status: 404 not found"); include("404.html");//跳转到某一个页面,推荐使用这种方法 exit(); } } else { @header("http/1.1 404 not found"); @header("status: 404 not found"); include("404.html");//跳转到某一个页面,推荐使用这种方法 exit(); } }
301 を実行する場合も、ほぼ同じです
<?php $the_host = $_SERVER['HTTP_HOST']; $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; if($the_host !== 'www.jb51.net') { //echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; header('HTTP/1.1 301 Moved Permanently'); header('Location: https://www.jb51.net' . $_SERVER['PHP_SELF'] . $request_uri); } ?>
関連する推奨事項: php中文网
以上がPHPでヘッダージャンプを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。