さくらインターネットさんのレンサバで WordPress マルチディレクトリー形式

この記事は公開されてから時間が経っています

さくらインターネットさんのレンタルサーバーに新しいドメインを追加して、ルート以外のパスに WordPress をインストールしようとした場合、表示などがおかしくなる場合があります

mod_rewrite の設定を再確認しないとサブディレクトリにアクセスしたとき、テーマが適応されていなかったり、ダッシュボードにアクセス出来ない場合があります
 
そう言う場合、WordPress の用意した .htaccess の内容を修正する事で何とかなります

発生条件

ドメインを追加して、追加ドメインのパスを /blog 等として WordPress をインストールし、ブログ用のドメインに設定した場合、
通常の手順でサブディレクトリにサイトを追加しても、エラーします

現象は

  • サブディレクトリのブログにテーマが適応されない
  • ダッシュボードにアクセスしようとすると Internal Server Error 500 が発生する

でも、それ以外は正常に動いているような気がします
 

対処

WordPress が用意した .htaccess の内容を少し修正します

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).*) blog/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ blog/$2 [L]
RewriteRule . index.php [L]

/blog というディレクトリに 追加したドメインを割り当てると、こう言う .htaccess の修正内容を提示してきます

ですが、このままでは Internal Server Error 500 が発生します

話は簡単で、 blog/ というパスの指定を書き換えます
 

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]

 

これで行けると思います
 
サブドメインなどは別の設定なので時間があったらまた書きますが、今回の案件はサブディレクトリで行きたいと思います

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。