【WordPress】マルチサイトでドメイン直下をリダイレクトさせる
- #PHP
- #WordPress
- #HTML
- #tips
こんにちは!
上毛印刷WEB制作担当のソーヤです。
WordPressのマルチサイト機能はご存じでしょうか。
親となるWordPressで、複数の子WordPressを管理する機能です。
こんな感じのイメージ↓↓↓
雛形となるWordPressを作成して、複数のWordPressを量産する際など本当に便利ですよね。
そんなWordPressのマルチサイト機能ですが、以前ある問題が発生しました。
・ドメイン/tokyo/
・ドメイン/yokohama/
・ドメイン/nagoya/
・ドメイン/osaka/
上記のように、複数の子WordPressを量産していたのですが、
ある時、「ドメイン直下にアクセスしたらどうするの?」とWEBディレクターに聞くと、
「親会社のサイトにリダイレクトさせてください」との指示がきました。
「リダイレクトね、じゃ.htaccessに記述するか」と短絡的に考えていたのですが、
実際に下記のように.htaccessに記述すると・・・
Redirect permanent / https://親会社.com/
もちろん、すべてのディレクトリが親会社のサイトに飛んでしまいます・・・
さて、どうしたものかと・・・
色々調べてみたのですが、
WordPressのマルチサイト機能をONにした際、.htaccessの記述がかなり複雑になるので、あまり.htaccessをいじらないほうがいいという記事をみました。
でも、なるべくGoogle様が推奨されているように、meta refreshやJavaScriptでのリダイレクトを使わず、301 リダイレクトさせたいと思っていました。
そんな問題を解決する画期的な関数がWordPressにありました!
テンプレートファイル例
<?php
/*
Template Name: マルチサイトトップページ
*/
?>
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name='robots' content='noindex,nofollow' />
</head>
<body>
<?php wp_redirect( '★リダイレクト先のURLを記載★', 301 ); exit; ?>
</body>
</html>
上記コードをindex.phpに記述してテーマを作成。
親のWordPressに適用させると、きれいに301 リダイレクトさせることができます!
まとめ
少しでもクオリティの高いWEBサイトを作るために、辛抱強く調べ続けることは、
本当に大事ですね。
この記事に対するご意見・ご感想・ご質問等ありましたら、
ぜひ下記フォームにてお送りください。