私はこのチュートリアルに従いました(Drupal 7)しかし、私にはうまくいきませんでした(Drupal 8 ):
これは私の環境です:
サイトの次の構造を作成する必要があります。
ファイルsites/sites.phpには、
$sites['localhost.site2'] = 'site2';
$sites['localhost.site3'] = 'site3';
ディレクトリsites /には、
drupal oのルートには、。への次のシンボリックリンクがあります:)
私の。htaccessファイルでは、次のようになります:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/site2/(.*)$
RewriteRule ^(.*)$ /site2/index.php [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/site3/(.*)$
RewriteRule ^(.*)$ /site3/index.php [L,QSA]
各サブサイトにアクセスしようとすると、デフォルトが表示されます。なにが問題ですか?
sites.php
_の作成_example.sites.php
_の複製コードをsites.phpに追加します
$sites = array( 'dogs.multisite.local' => 'dogs', 'multisite.local.cats' => 'cats', );
サイトフォルダーに「cats」と「dogs」という名前の2つのフォルダーを作成します。
_/drupal/sites/dogs/
/drupal/sites/cats/
_
/ drupal/sites/default/サイトには、各サイトにコピーする必要があるデフォルトのファイルがあります。これらのファイルを、cpsコマンドを使用して、sitesディレクトリーにコピーします。
_cp default/default.settings.php dogs/settings.php
cp default/default.settings.php cats/settings.php
cp default/default.services.yml dogs/services.yml
cp default/default.services.yml cats/services.yml
_
Virtualhostのセットアップ
hosts
_ 127.0.0.1 multisite.local
_
httpd-vhosts.conf
_<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/lampp/htdocs/drupal"
ServerName multisite.local
ServerAlias *.multisite.local multisite.local.*
ErrorLog "logs/multisite.local-error_log"
CustomLog "logs/multisite.local-access_log" common
</VirtualHost>
_
完了したら、次のURLからマルチサイトコンテキストで新しいWebサイトのインストールを開始できます。
_ http://dogs.multisite.local/
http://multisite.local.cats/
_
drushを使用することをお勧めします。それはあなたの人生をより簡単にします:
$ drush site-install --db-url=mysql://db_user:[email protected]/sample_site_db --sites-subdir=sample.subsite.com --yes
Drushが適切な設定をすべて生成することに注意してください。次に、「手動」にしたいときに実際にどのようになっているのかを確認できます。
そして、ここにDrupal 8にマルチサイトを設定する手順の完全なリストがあります: https://evolvingweb.ca/ blog/drupal-8-configuration-management-multi-site
本当にあなたの人生を楽にしたいなら、 Aegir を使ってください。これはすべてポイントアンドクリックで自動的に行われます。 公式Drupalマルチサイトのドキュメント から:
ただし、Aegirホスティングシステムを使用することをお勧めします。これは、ApacheとNginxの両方の仮想ホストの自動構成、HTTPSサポートの追加、Composerコマンドの実行など)を含む安全なベストプラクティスを使用して、すべての重い作業を行います。参照 ドキュメント「プラットフォーム」をセットアップする場合 、マルチサイトコードベースのAegir-speak。
ユースケースでは、コアAegirに同梱されている(サイト)サブディレクトリモジュールを有効にする必要があります。
これはすべてバックエンドで行われるため、コマンドラインの作業はまったく必要ありません。