Wordpressマルチサイト 子サイトのダッシュボードの不具合
受付中
回答 1
投稿
- 評価
- クリップ 0
- VIEW 742
前提・実現したいこと
現在NTTのWebメール&ビジネスにてマルチサイトのWordpressサイトを作っています。
ディレクトリ/wordpress/をURLから消す作業中、以下のような状態となりました。
発生している問題・エラーメッセージ
・子サイトのダッシュボードを表示すると、親サイトと全く同じメニュー・カスタムメニューが表示されてしまう。
メニューを押すと、親サイトのコンテンツが表示されてしまい
設定ページを含めたメニューも親サイトと同じものが表示される(URLは子サイトのパス)
・親サイト、子サイトのURLはまともに表示される。
htaccessやconfigファイルの問題かと思っていますが、当方初学者のため原因を究明できておりません。
・心当たりとしては、/wordpress/というパスをサイトURLに表示しない為に.htaccessとindex.phpをホームディレクトリ"htdocs"へ設置している事、
インストールディレクトリ"wordpress"にもhtaccessを保管している事です。
※消すとwp-adminでinternal server errorになります。
htaccessの内容①(場所:ホームディレクトリ"htdocs")
# BEGIN WordPress
<IfModule mod_rewrite.c>
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]
</IfModule>
# END WordPress
htaccessの内容②(場所:インストールディレクトリ"wordpress")
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
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]
</IfModule>
# END WordPress
試したこと
・/wordpress/内htaccessの削除(サーバーエラーになる為戻しました)
・configファイルとhtaccessとサイトネットワーク管理のタグとの照らし合わせ
・データベースの移行をやり直し
補足情報(FW/ツールのバージョンなど)
Wordpress 5.0.3
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
0
なかなか回答がつかないようなので、試してみました。
下記の手順で、問題なく変更できることを確認できした。
.htaccess を変更する必要はなさそうです。
- 前提
- www/ が、ドキュメントルートになっている環境で、 wordpress ディレクトリにインストール ( http://example.com/wordpress/ ) して、マルチサイト化。
- 子サイトとして、 abc ( http://example.com/wordpress/abc ) と xyz ( http://example.com/wordpress/xyz ) を作成。
- それぞれにログインできることを確認済。
- URL変更方法
- すべてのプラグインを無効にする。
www/wordpress/.htaccess
とwww/wordpress/index.php
をwww/
にコピーする。- www/index.php を編集して、
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
をrequire( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
に変更。 www/wordpress/wp-config.php
を編集し、define('PATH_CURRENT_SITE', '/wordpress/');
をdefine('PATH_CURRENT_SITE', '/');
に変更する。- データベース内部の URL を置き換える。
(メインサイト関係)
wp_options の siteurl と home をhttp://example.jp/wordpress/
からhttp://example.jp
へ。
wp_site の path からwordpress
を取り除く。( メインは、/wordpress/
を/
へ。子サイトの/wordpress/abc
を/abc
にする。 )
wp_blogs の path からwordpress
を取り除く。
(子サイト関係)
各子サイトの wp_(数字)_options のsiteurl
とhome
からwordpress
を取り除く。
wp_2_options の siteurl と home をhttp://example.jp/wordpress/abc
からhttp://example.jp/abc
へ。
wp_3_options の siteurl と home をhttp://example.jp/wordpress/xyz
からhttp://example.jp/xyz
へ。 - (メインサイト)
http://example.jp/wp-admin
から管理画面にログインして、「設定」「パーマリンク設定」を開いてそのまま「変更を保存」ボタンを押してパーマリンクを更新。 - (子サイト)
http://example.jp/abc/wp-admin
から管理画面にログインして、「設定」「パーマリンク設定」を開いてそのまま「変更を保存」ボタンを押してパーマリンクを更新。 (同様に全部の子サイトでそれぞれ実施。)
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 89.98%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
CHERRY
2019/03/12 10:17
マルチサイトを設置後に .htaccess を変更して、URL から、wordpress を消したということでしょうか?
ink_
2019/03/12 11:16
左様でございます。
/wordpress/で設置したマルチサイトからwordpressのパスを消した。
というのが現在の状況です。
CHERRY
2019/03/12 11:33
マルチサイトの場合、データベース内にも URL が保存されていますが、これらも書き換えていますか?
ink_
2019/03/12 11:42
wp_options、wp_2_options、wp_blogs、wp_siteなどURL関連の置換を完了しています。
(ディレクトリに沿ってoptionsのsiteurlは/wordpress/残しです。)