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

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

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

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

WordPress

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

Q&A

解決済

1回答

631閲覧

サブドメインのダッシュボードにアクセスできない

of_the_Europa

総合スコア66

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

WordPress

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

0グッド

0クリップ

投稿2022/08/19 07:23

状況としてはVPSサーバー上にインストールしたwordpressをマルチサイト化し、親のダッシュボードからサブドメインのダッシュボードへアクセスしようとすると404エラーで表示できないといった感じです。メインドメインは表示できます。またサブドメインもドキュメントルート直下に作成したindex.htmlの内容が(試験的に設置したものです)サブドメインのurlとして表示されています。なのでhttp://サブドメイン/wp-adminにはアクセスできない状態です。

ドメインはgoogle domainsから取得したもので、DNS設定はこのようにしています。

ホスト名 タイプ データ example.net A 163.**.***.** *.example.net A 163.**.***.** www.example.net A 163.**.***.**

「データ」はすべて同じIPアドレスです。

レンタルサーバーはconoha VPSで、こちらのDNS設定はこのようになっています。

タイプ 名称 TTL 値 A(通常) @ 3600   163.**.***.** A(通常) project1 3600   163.**.***.** A(通常) project2 3600   163.**.***.** A(通常) project3 3600   163.**.***.** A(通常) www 3600   163.**.***.** NS @   3600   ns-a1.conoha.io NS @   3600   ns-a2.conoha.io NS @   3600   ns-a3.conoha.io

サーバーのOSはUbuntu20.04を使用し、apache2の/sites-available/example.net.confでバーチャルホストをこのように設定しています。

<Directory /var/www/html/example.net/public> Require all granted </Directory> <VirtualHost *:80> ServerName example.net ServerAlias www.example.net ServerAdmin webmaster@localhost DocumentRoot /var/www/html/example.net/public ErrorLog /var/www/html/logs/error-example.net.log CustomLog /var/www/html/logs/access-example.net.log combined </VirtualHost> <Directory /var/www/html/project1.example.net/public> Require all granted </Directory> <VirtualHost *:80> ServerName project1.example.net ServerAdmin webmaster@localhost DocumentRoot /var/www/html/project1.example.net/public ErrorLog /var/www/html/logs/error-project1.example.net.log CustomLog /var/www/html/logs/access-project1.example.net.log combined </VirtualHost> <Directory /var/www/html/project2.example.net/public> Require all granted </Directory> <VirtualHost *:80> ServerName project2.example.net ServerAdmin webmaster@localhost DocumentRoot /var/www/html/project2.example.net/public ErrorLog /var/www/html/logs/error-project2.example.net.log CustomLog /var/www/html/logs/access-project2.example.net.log combined </VirtualHost> <Directory /var/www/html/project3.example.net/public> Require all granted </Directory> <VirtualHost *:80> ServerName project3.example.net ServerAdmin webmaster@localhost DocumentRoot /var/www/html/project3.example.net/public ErrorLog /var/www/html/logs/error-project3.example.net.log CustomLog /var/www/html/logs/access-project3.example.net.log combined </VirtualHost> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]`

public直下のwp-config.phpや.htaccessに関してはマルチサイト化するための基本設定の他は、特にいじっていません。

どうかお力をいただければ幸いです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

WordPress で、マルチサイトの運用を行う場合は、

等のドキュメントはしっかり読みましょう。


サブドメインのダッシュボードへアクセスしようとすると404エラーで表示できないといった感じです。メインドメインは表示できます。またサブドメインもドキュメントルート直下に作成したindex.htmlの内容が(試験的に設置したものです)サブドメインのurlとして表示されています。

現状、サブドメインの WordPress 子サイト も表示されていない状況ですね。

マルチサイト化した WordPress の親サイトは、「 example.net 」ですか?

サーバー要件 ドメインベース - マルチサイトネットワーク作成の前に

ドメインベースのネットワークは WordPress がインストールされたサーバーのファイルシステムの同じディレクトリに異なるドメイン名をマップします。

と記載がありますが、マルチサイトの子サイトの DocumntRoot は、親サイトと同じディレクトリを指定する必要があります。

つまり、子サイトの DocumentRoot の指定を 親サイト( 仮に example.net とする )の DocumentRoot の /var/www/html/example.net/public を指定する必要があります。

投稿2022/08/19 09:45

編集2022/08/19 09:56
CHERRY

総合スコア25171

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

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

of_the_Europa

2022/08/20 14:19 編集

ご返答遅くなり、申し訳ありません。 ドキュメントルートを同じにすることで、無事、サブドメインのダッシュボードにたどり着くことができました。 一つ疑問というか怪しいところなのですが、 試験的なファイル 「index.html」をドキュメントルートに設置しているのであれば、サイトそのものは親サイトも子サイトも同じになりますよね。それが個々の管理画面でそれぞれ有効化したテーマであれば、子サイトは独自のそれに反映されるのでしょうか? 重ねての質問お手数おかけしますm(__)m
CHERRY

2022/08/21 01:43 編集

WordPress の簡単に動作は下記のような流れになります。 ・Wordpress サイトにアクセスされると WordPress ディレクトリにある index.php を実行する。 ・設定ファイルを読み込む ・データベースにアクセスして、プラグインやテンプレートなど設定を読み込む ・URL からアクセスしたWebページを指定する ・テーマ・プラグイン等の初期化を実行する ・データベースから必要なデータを読み込む ・指定されたテンプレートを読み込む ・画面を作成する アクセスした URL をもとに 表示するページを生成するので、マルチサイトの場合、同じ DocumentRoot のプログラムで異なるテーマでも表示が可能になっています。
of_the_Europa

2022/08/21 17:39

wordpressのリクエスト・レスポンスの細かい流れがどうなっているのか、その辺も以前から気になっていたのでとても参考になりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問