これは簡単な質問だと思いますが、もっと詳しく説明させてください。私は次の開発環境を持っています:
すべてが正常に機能していますVirtualHost構成を除く。 DrupalとWordpressの2つのアプリケーションをデプロイしたいと思います。各アプリケーションには独自のディレクトリがあります。例:
デフォルトのサイトでは、VirtualHost構成はドキュメントルートとして/ var/wwwを指します。 このデフォルトサイト構成を無効にしますそして2つのVirtualHostを作成したいと思います。1つはDrupal用、もう1つはWordpress用です。
ただし、これは開発環境であり、ここにはドメインがありません。私は多くのサイトを検索し、多くのチュートリアルを見つけました。それらはすべて、ドメインでこれを行う方法を説明していますが、サブディレクトリでは説明していません。
構成を行うと、アプリケーションにアクセスするためのURLは次のようになります。
- http://example.com/wordpress;
- http://example.com/drupal;
私はすでにこのVirtualHostで試しています:
<VirtualHost *:80>
ServerName example.com
ServerAdmin [email protected]
DocumentRoot /l/disk0/site/public_html
<Directory />
AllowOverride None
</Directory>
Alias /site /l/disk0/site/public_html
<Directory /l/disk0/site/public_html>
Options MultiViews Indexes Includes FollowSymLinks ExecCGI
AllowOverride All
Require all granted
allow from all
</Directory>
RewriteEngine On
LogLevel warn
ErrorLog "/l/disk0/site/logs/Apache/site/error.log"
CustomLog "/l/disk0/site/logs/Apache/site/access.log" combined
SSLProxyEngine on
</VirtualHost>
動作しませんでした。
VirtualHostは、サイトごとに個別のドメイン名を設定する場合に使用されます。 Apacheは、使用する仮想ホストを選択するときに、URLのドメイン名の部分を調べます。したがって、その部分が同じである場合、VirtualHostsを使用して分割できないことを意味します。
2つの選択肢があります。
個別のホスト名を使用します。例: drupal.example.com
およびwordpress.example.com
の代わりに example.com/drupal
およびexample.com/wordpress
別の方法を使用して、2つのサイトを分離します。
前者の場合、VirtualHost
構成を保持しますが、それぞれのServerName
を変更します。
後者の場合、VirtualHost
構成を削除し、代わりに次のようなことを行います。
Alias /drupal /l/disk0/drupal/public_html
<Directory /l/disk0/drupal/public_html>
Options MultiViews Indexes Includes FollowSymLinks ExecCGI
AllowOverride All
Require all granted
allow from all
</Directory>
Alias /wordpress /l/disk0/wordpress/public_html
<Directory /l/disk0/wordpress/public_html>
Options MultiViews Indexes Includes FollowSymLinks ExecCGI
AllowOverride All
Require all granted
allow from all
</Directory>