header関数で301リダイレクト
header関数は3つの引数が指定出来ます。第一引数にリダイレクト先のURL、第二引数は “true” を指定すると同じヘッダを上書きします ( ※ “false” は同じヘッダを生成) 。第三引数はHTTPステータスコードを指定します。
<?php
header('Location: https://analyzegear.co.jp/blog/', true, 301);
exit;
WordPress テーマの404.php にリダイレクト処理を追加
“http://example.com/wp_dir/” などのURLでしばらくWordPressサイトを運用した後に “http://example.com/” に変更する場合、新URLにリダイレクト処理を入れる必要があります。
以下のコードは 404.php の get_header() を呼ぶ前にリダイレクト処理を入れてスムーズに新URLに移行出来るようにします。
<?php
/**
* リダイレクト
*/
//現在のURLを取得する
$request_uri = $_SERVER['REQUEST_URI'];
//対象ディレクトリ
$target_str = 'wp_dir/';
//URLに対象ディレクトリの文字列が含まれるかチェック
if(strpos($request_uri, $target_str) !== false){
//リダイレクト先のURL
$redirect_uri = str_replace($target_str, '', $request_uri);//置換
$redirect_url = home_url().$redirect_uri;
//リダイレクト実行
header('Location: '.$redirect_url, true, 301);
exit;
}
動作環境情報
エックスサーバー(x10) PHP 7.3.14
コメント