web関連

【php】特定のページに来たらリダイレクトさせる方法

2019/08/05

【php】特定のページに来たらリダイレクトさせる方法

Wordpressで詳細ページ(single.php)持ちたくない時にheader関数でリダイレクトをかけた時の備忘録

phpのheader関数を使ったリダイレクト方法

single.php内に記述

<?php
header('Location: https://sample.com/');
exit();
?>

相対パスじゃなくて絶対パスじゃないと駄目みたい

特に指定しないと302(一時的な)リダイレクトだから
301(恒久的な)リダイレクトを指定する時はこういう書き方になる

<?php //301リダイレクト
header("https://sample.com/", 301);
exit;
?>
置換をかける引数あるみたいだけどよくわからないから抜いている

参考

PHPの「正しい」リダイレクト方法と、HTTPステータスコード
 

wordpressだったらwp_redirect関数がある

URLとリダイレクト方法(301とか)を指定できる

<?php 
wp_redirect( 'https://sample.com/', 301 );
exit;
?>

ただ、single.php内で使用とかできないみたい
header.php内もしくはget_header()より前で使用するかアクションフックとか使いhtmlが読み込まれる前に実行するする必要があるみたい

試してはないheader関数で事足りたので、一応メモ
 

前々から詳細ページ出したくない時どうしようかなと考えてたけどheader関数使えば解決した
.htaccessでできればそれに越したことないんだけどね