WordPress

WordPressのマルチサイト(サブディレクトリ)でリダイレクトループが発生したときの注意点。

こんばんわ。
TOMOROHです。

さて、先日から同一サーバにWordPressをもう一つ入れてマルチ化して遊ぼうとしていたのですが、
見事にはまりました。

PAK76_anakarakaodasurisu20131201500

WordPressのマルチ化について

このあたりを参照。
WordPressで複数のサイトを運用する(サブディレクトリ型) | WordPressならファーストサーバ

WordPressのマルチサイト機能で複数のブログを管理する

今回はまったところ

「リダイレクトでループが発生」
おそらくこの内容は結構多いはず。
まあ、酔っ払って適当にやってしまったので、見事にドツボにはまりました。

前提としてサーバ環境を
ホスティング先:さくらインターネット
WordPressインストール先:ルート配下(/home/ユーザー名/www/)に「exmple」というディレクトリを作成。
独自ドメイン「exmple.jp」を関連付け。
といったところ。
※exmpleは例で実際は違います(汗)

ここで、WordPressのインストールで作成される「.htaccess」ファイル。
これは、「exmple」の下に作成されます。

このあと、WordPressのマルチサイト化を行います。
そして、「.htaccess」の修正。
これをそのまま読んで、ルート配下の「.htaccess」に追記しました。<ここが間違い

実際は、「exmple」ディレクトリ(WordPressインストール先直下)の「.htaccess」を以下のように書き換えました。

---------------------------------------------
# BEGIN WordPress

#RewriteEngine On
#RewriteBase /
#RewriteRule ^index\.php$ - [L]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]
#

# END WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ /$2 [L]
RewriteRule . index.php [L]


---------------------------------------------

こんな感じ。

ちょっと考えれば当り前なお話ではありますが、正直注意です。

最後に。

今回初めてWordPressのマルチサイト化をやってみました。
メリットとデメリットとありますが、同一サーバ上に複数WordPress導入するより
マルチサイト化した方がサーバ負荷が低いんじゃないかと思ったもので。
まだ正式運用に乗せていませんので負荷はほぼ0
このあたりは今後確認していきたいと思います。

そうそう、こういったネタは時間があって集中力のある時にやるべきですね。
決して、睡眠不足でアルコールの入った状態でやるものではないです。
一歩間違えてサーバ落としかねないし。

ではでは。

広告

-WordPress

Copyright© TOMOROH’sBlog , 2023 All Rights Reserved Powered by AFFINGER5.