質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

3850閲覧

Wordpressマルチサイト 子サイトのダッシュボードの不具合

ink_

総合スコア10

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/03/11 23:13

前提・実現したいこと

現在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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/03/12 01:17

マルチサイトを設置後に .htaccess を変更して、URL から、wordpress を消したということでしょうか?
ink_

2019/03/12 02:16

左様でございます。 /wordpress/で設置したマルチサイトからwordpressのパスを消した。 というのが現在の状況です。
CHERRY

2019/03/12 02:33

マルチサイトの場合、データベース内にも URL が保存されていますが、これらも書き換えていますか?
ink_

2019/03/12 02:42

wp_options、wp_2_options、wp_blogs、wp_siteなどURL関連の置換を完了しています。 (ディレクトリに沿ってoptionsのsiteurlは/wordpress/残しです。)
guest

回答1

0

なかなか回答がつかないようなので、試してみました。

下記の手順で、問題なく変更できることを確認できした。
.htaccess を変更する必要はなさそうです。


  • 前提
  1. www/ が、ドキュメントルートになっている環境で、 wordpress ディレクトリにインストール ( http://example.com/wordpress/ ) して、マルチサイト化。
  2. 子サイトとして、 abc ( http://example.com/wordpress/abc ) と xyz ( http://example.com/wordpress/xyz ) を作成。
  3. それぞれにログインできることを確認済。
  • URL変更方法
  1. すべてのプラグインを無効にする。
  2. www/wordpress/.htaccesswww/wordpress/index.phpwww/ にコピーする。
  3. www/index.php を編集して、 require( dirname( __FILE__ ) . '/wp-blog-header.php' );require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' ); に変更。
  4. www/wordpress/wp-config.php を編集し、 define('PATH_CURRENT_SITE', '/wordpress/');define('PATH_CURRENT_SITE', '/'); に変更する。
  5. データベース内部の 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 の siteurlhome から 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 へ。
6. (メインサイト) http://example.jp/wp-admin から管理画面にログインして、「設定」「パーマリンク設定」を開いてそのまま「変更を保存」ボタンを押してパーマリンクを更新。
7. (子サイト) http://example.jp/abc/wp-admin から管理画面にログインして、「設定」「パーマリンク設定」を開いてそのまま「変更を保存」ボタンを押してパーマリンクを更新。 (同様に全部の子サイトでそれぞれ実施。)

投稿2019/03/14 05:44

編集2019/03/14 23:54
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問