リダイレクトするための10の方法

- Category - html
Pocket

リダイレクトするための方法をいろいろ考えてみました。
・Wordpress等でmetaを編集できない人
・JSが効かないブラウザでリダイレクトしたい人
・phpの使えないサーバーを使っている人
・FTPの権限でhtaccessが使えない人
ここのソースをコピペしてうまく動作しない方へ。
ペースト時に半角ダブルクーテーション「”」が全角ダブルクオーテーション「”」に勝手に変換される場合があります。
全角半角をチェックしてみてください。

 

●方法1:metaタグに入れる場合
<meta http-equiv=”refresh” content=”【秒】;URL=【リダイレクト先のURL】”>

例)
<meta http-equiv=”refresh” content=”0;URL=https://starlinks.jp/”>

●方法2:JavaScriptによる記述の場合
<script>
location.href=”【リダイレクト先のURL】”;
</script>

例)
<script>location.href=”https://starlinks.jp/”;</script>

 

※秒数指定
<script type=”text/javascript”>
setTimeout(“link()”, 1000);
document.write(‘1秒後サイト移動します’);
function link(){
location.href=’http://【任意のドメイン】’;
</script>

 

●方法3:PHPを使ったリダイレクト
<?php
header(‘Location: 【リダイレクト先のURL】’, true, 301);
exit();
?>

例)
<?php
header(‘Location: https://starlinks.jp/’, true, 301);
exit();
?>

●方法4:.htaccessを使ったリダイレクトの場合
〇サイト全体をリダイレクト
# Redirect
Redirect permanent / 【リダイレクト先のURL】

例)
# Redirect
Redirect permanent / https://starliks.jp/

〇特定のページをリダイレクト
# Redirect
Redirect permanent /【リダイレクト元のURL】 【リダイレクト先のURL】

例)
# Redirect
Redirect permanent /https://starliks.jp/redirect301/ https://starliks.jp/redirect301_new/

■wordpressのリダイレクト
●方法5:プラグインを使う→Redirection

●方法6:functions.phpを弄る 権限単位でリダイレクトが可能らしいです。(試した事はないです)

管理者:administrator
編集物:editor
投稿者:author
寄稿者:contributor
※レビュー待ちの投稿ができる権限
寄稿者 subscriber
プロフィールの変更のみできる権限

function redirect_after_login(){
global $user;
//ユーザーの権限を取得
$user_role = $user->roles[0];
//ユーザーの権限が「管理者」であれば
if($user_role === ‘administrator’){
//「/sample_page」にリダイレクトする
wp_redirect(‘/sample_page’);
exit;
}
}
add_action(‘wp_login’, ‘redirect_after_login’);

その他詳しい事はこちらを参照
https://into-the-program.com/redirect-user-after-login/

●方法7:固定ページや記事にJavaScript直接書き込む
記事編集ページでtextモードにして以下をhead内かbody内に記述
<div><script>location.href=”【リダイレクト先のURL】”;</script></div>

例)
<div><script>location.href=”https://starlinks.jp/”;</script></div>

こちらは、管理権限のないワードプレスを編集する時に使えます。
例えば、サイトの管理権限は委託している制作会社が持っていて、依頼をしないと書き換えができない場合など。
※この方法は、記事を書く際の権限によっては書けない場合もあります。
一点だけ注意点として、
<div>
<script>
location.href=”https://starlinks.jp/”;
</script>
</div>
のように改行して書かずに1行で書いて下さい。改行したコードの場合、何故か古いバージョンのワードプレスではAndroidoでリダイレクトしない場合があります。

●方法8:固定ページや記事に直接書き込む
<body onLoad=setTimeout(“location.href=’【リダイレクト先のURL】'”,0)>
こちらもJSなのですが、方法7が動作しない環境でも動作します。
ただし、bodyに書き込まないとならないので、場合によってはbodyタグが2つになってしまい変になる場合もあります。

例)
<body onLoad=setTimeout(“location.href=’https://starlinks.jp/'”,0)>

●方法9:FTPを使った書き換え
例えば、「http://sample.com/blog1」というページをリダイレクトさせたい場合、
ワードプレスの記事を削除、又は、記事の名前を変える( http://sample.com/blog1 → http://sample.com/blog2 )など
FTP上でhttp://sample.com/の直下に「blog1」というファイルを作る。
そのファイルに、
<script>
location.href=”【リダイレクト先のURL】”;
</script>
と書いたindex.htmlファイルをアップする(リダイレクトの方法はJSじゃなくてもmetaでもphpでもOK)

●方法10:レンタルサーバー会社の設定でリダイレクトをする
例えば、X SERVERでは管理画面から設定ができます(やっている事はhtaccessを変えているのだと思うけど)
https://www.xserver.ne.jp/manual/man_server_transfer.php

■全部ダメだったら…
その場合にはページに遷移先のURLを書いてリンクを張るしかないかと思います。
こんな感じで書いてみてください。
<a href=”【遷移させたいURL】”>サイト引っ越ししました。新しいページを見るにはこちら</a>

■リダイレクトを使う主な場面
・サイトやページの引っ越しなどでURLが変わった場合
・お問い合わせフォームなどで送信後にトップページなどに自動で戻る場合(その場合は秒数を設定すると良いです)

★301リダイレクトとは?
ドメインやページが変わった際にする処理。
元のURLの検索順位をそのまま引き継ぐ事ができます。

他にもリダイレクトの方法を見つけたり思いついたら追記していきます!