WordPress のマルチサイト機能を使用すると、1 つの WordPress プログラムをインストールして複数のサイト (つまり、複数のドメイン名またはサブドメインにバインドできる一連のプログラム) を作成できます。 各サイトには独自のテーマ、プラグイン、記事、ページがあります。 これにより、複数の WordPress インストールの保守と更新の手間が大幅に軽減されます。 さらに、各サイトは互いに独立しており、互いに影響を与えません。 WordPress マルチサイトの使い方にはサブディレクトリとサブドメインの 2 つの方法があります。ここでは主にサブドメイン方式を紹介します。 つまり、メインのドメイン名に基づいて、サブドメインを作成します(例:http://shop.jb51.com)。 同時に、このサブドメインを http://shop.com などの第 1 レベル ドメインにマップすることもできます。 訪問者がアクセスするのは、独立したファーストレベル ドメイン名です。 1. 準備 WordPress がマルチサイト機能ページを導入: サイトネットワーク管理ページ 次に、以下のようにいくつかのドメイン名を準備します。 サイト 1: www.jb51.com (プライマリ ドメイン名)、WordPress のインストール時に使用するドメイン名 サイト 2: blog.jb51.com、セカンド レベル ドメイン名 サイト 3: news.com、マッピングされたセカンド レベル ドメイン名 news.jb51.com 次に、ドメイン名サービスプロバイダーの解決ページにログインし、上記のドメイン名のAレコードをWordPressがインストールされているサーバーのIPに設定します。 また、hosts ファイルを直接変更し、次の行を追加することで、ローカル コンピューターでテストすることもできます。 127.0.0.1 www.jb51.com blog.jb51.com news.com shop.com 2. Nginx の設定 次のように、Nginx 設定ディレクトリに新しい設定ファイルを作成します。 $ sudo vi /etc/nginx/conf.d/jb51.conf 内容は次のとおりです。 サーバー{ 聞く 80; server_name www.jb51.com blog.jb51.com news.com shop.com; ルート /usr/share/nginx/wordpress; インデックスindex.php; 位置 / { try_files $uri $uri/ /index.php?$args; } 場所 ~ /favicon.ico { access_log オフ; log_not_found オフ; } 場所 ~ \.php$ { try_files $uri /index.php; fastcgi_params を含めます。 127.0.0.1:9000; をデフォルトとして設定します。 fastcgi_index インデックス.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } アクセスログ /var/log/nginx/$host-access.log; error_log /var/log/nginx/wpms-error.log; } ここでは、$host 変数を使用して、Nginx がドメイン名ごとに個別のアクセス ログを生成できるようにします。 たとえば、news.com-access.log および shop.com-access.log などです。 ただし、エラー ログでは $host 変数を使用できないため、すべてのエラーはファイルに記録されます。 Nginx サーバーを再起動します。 $ nginx -s リロード 3. WordPressをインストールする 通常の WordPress インストール手順に従って WordPress をインストールします。 4. マルチサイト機能を有効にする テキスト エディターで wp-config.php ファイルを開き、コメントの前に次の行を追加します: "/* これで完了です。これ以上編集しないでください。このファイルを保存してください。楽しんでください。*/": /* マルチサイト設定 */ 定義( 'WP_ALLOW_MULTISITE' , true ); このファイルをさらに数回編集します。 保存後、WordPress バックエンドにログインし、「ツール」>「ネットワーク設定」をクリックし、サブドメイン、ネットワーク タイトル、ネットワーク管理者のメール アドレスを選択します。 次にターミナルをインストールします。 しばらくすると、インターフェイスに 2 つのコード ブロックが表示され、それぞれ wp-config.php ファイルと .htaccesss ファイルを追加するように求められます。 ここでは Nginx を使用しているため、.htaccess の部分については心配する必要はありません。 wp-config.php ファイルを開き、コメントの前に次の行を追加します: "/* OK! これ以上編集しないでください。このファイルを保存してください。楽しんでください! */": 'MULTISITE' を定義します。 定義('SUBDOMAIN_INSTALL'、true); 定義('DOMAIN_CURRENT_SITE'、'www.jb51.com'); 定義('PATH_CURRENT_SITE'、'/'); 定義('SITE_ID_CURRENT_SITE'、1); 定義('BLOG_ID_CURRENT_SITE', 1); WordPress 管理パネルからログアウトし、再度ログインします。 WordPress からログアウトして再度ログインします。 パネルの左上隅にある [マイサイト] > [ネットワーク管理] > [サイト] を開きます。 [新規追加] ボタンをクリックして [新しいサイトの追加] フォームを開き、ブログ、ニュース、ショップの 3 つのサブドメインを順番に追加します。 追加後、すべてのサイトを選択し、2 つのサブドメイン news.jb51.com と shop.jb51.com を編集します。サイト タイトルはそれぞれニュースとショッピング モールになります。 サイト アドレス (URL) をそれぞれ news.com と shop.com に変更します。 この手順を完了すると、blog.jb51.com にアクセスできます。これはすでに独立したリソースを持つ独立したサイトです。 ただし、news.com と shop.com にアクセスするには、読み続ける必要があります。 5.ドメイン名マッピングを設定する パネルの左上隅にある [マイサイト] > [ネットワーク管理] > [プラグイン] を開きます。 ここで WordPress MU ドメイン マッピング プラグインをインストールします。直接検索するか、ダウンロードしてインストールしてから有効にすることができます。 次に、プラグイン ディレクトリ (ディレクトリ wp-content/plugins/wordpress-mu-domain-mapping) にある sunrise.php ファイルを wp-content ディレクトリにコピーします。 wp-config.php ファイルを開き、コメントの前に次の行を追加します: "/* OK! これ以上編集しないでください。このファイルを保存してください。楽しんでください! */": 定義('SUNRISE'、'on'); 保存してからブラウザに戻り、バックグラウンドのパネルの左上隅にある [マイサイト] > [ネットワーク管理] > [設定] を開きます。 次に、ドメイン マッピングを選択し、以下のようにドメイン オプションを変更します。 それから保存します。 ここでの設定の機能は、管理ページ (/wp-admin) を含むすべての第 2 レベル ドメイン名 (news.jb51.com など) をそれぞれの外部ドメイン名 (news.com など) にリダイレクトすることです。 次に、トップレベルドメイン名をさまざまなサイト ID にマッピングする必要があります。 デフォルトでは、サイト ID はバックグラウンドに表示されないため、最も簡単な方法として、サイト ID をバックグラウンドで直接表示します。 この方法は、WordPressのMust-useプラグインを使用する方法です。 wp-content ディレクトリに mu-plugins ディレクトリを作成し、新しく作成したディレクトリに wpms_blogid.php という名前のファイルを作成します。 この PHP ファイルの内容は次のとおりです。 <?php フィルターを追加します( 'wpmu_blogs_columns', 'do_get_id' ); アクションを追加します('manage_sites_custom_column', 'do_add_columns', 10, 2); add_action( 'manage_blogs_custom_column', 'do_add_columns', 10, 2 ); 関数 do_add_columns( $column_name, $blog_id ) { if ( 'blog_id' === $column_name ) $blog_id をエコーします。 $column_name を返します。 } 関数do_get_id($columns){ $columns['blog_id'] = 'ID'; $columns を返します。 } 保存後、バックエンドで「サイト」>「すべてのサイト」にアクセスすると、サイト リストに追加の ID 列が表示されます。これは次の手順で使用します。 バックエンド コントロール パネルで [設定] > [ドメイン] に切り替えて、次の 2 つのドメイン名を追加します。 サイトID: 3 (実際の状況に基づく) 同様に: サイトID: 4 (実際の状況に基づく) ドメイン名に www が含まれる場合も、同じ操作が使用されます。 6. 結果 上記の手順を完了すれば、基本的には問題ありません。 メインサイトのドメイン名は変更されず、引き続き www.jb51.com のままです。 ニュースサイトにアクセスするには news.com を使用します。 shop.com を使用してモールサイトにアクセスできます。 このブログには、第 2 レベル ドメイン名 blog.jb51.com を使用して引き続きアクセスできます。 同時に、これらのサイトのバックエンドにも独立したアドレスがあります。 http://www.jb51.com/wp-admin/ すべてのサイトにテーマやプラグインをインストールできなくなりました。 すべてはネットワーク管理(パネルの左上隅にある[マイサイト] > [ネットワーク管理])で構成されます。 以上がNginx環境下でWordPressのマルチサイト機能を設定する詳細な方法です。皆様のお役に立てれば幸いです。 以下もご興味があるかもしれません:
|
<<: Vue2.0の双方向データバインディング原則を手動で実装する
>>: Linux centos7 環境での MySQL インストール チュートリアル
XML価格照会のクエリデータにはリストが含まれているため、コレクションが必要です <結果マップ...
目次マップ状態マップゲッターマップミューテーションマップアクション例まとめマップ状態コンポーネントが...
質問会社がサーバーを移行した後、デフォルトで作成された docker0 ブリッジが会社の外部ネットワ...
mysql 効率的なクエリMySQL は、左結合の速度を上げるために group by を犠牲にし...
目次1. 前処理2. コンパイル3. コンパイル4. リンク1. gccのインストール(Ubuntu...
目次1. サブクエリとは何ですか? 2. 自己結合3. 自然な結合4. 外部接続1. サブクエリとは...
序文仮想通貨の狂気的な投機により、マイニングウイルスは犯罪者が最も頻繁に使用する攻撃方法の 1 つに...
あなたがlinuxerだと仮定すると、 windowserだとは想定しません。Windows ユーザ...
(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...
mysqlは指定された期間内の統計データを取得します年別統計 選択 カウント(*)、 DATE_FO...
この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...
1. /etc/init.dディレクトリに新しいrabbitmqを作成します。 [root@loca...
目次1. はじめに2. GitHub 3. 基本構成プロジェクトディレクトリパッケージ.json c...
目次背景コンテナを固定し、数字を上にスクロールすることで、スクロールホイールと同様の効果を実現します...
要件:PC側とモバイル側は2つの独立したプロジェクトです。2つのプロジェクトの内容は基本的に同じで、...