web-dev-qa-db-ja.com

並列サーバー側のディレクトリからサブディレクトリを提供する

サブディレクトリ(/ var/www/html/example)の2つのフォルダーで実行されているApacheサーバーがあり、httpd.confの仮想ホスト構成は/ var/www/html/example/websiteおよび/ var/html /からURLを提供します例/サービス

Example.com/services/に移動するときに/ var/html/example/serviceフォルダーがルートになり、example経由でアクセスするときに/ var/www/html/example/websiteがルートになるようにしたい.com /

私のhttpd.confファイルから、これは私が追加したものです(当然のことながら機能しませんが、わかりやすくするためです):

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com/services
DocumentRoot /var/www/html/example/service
</VirtualHost>

<VirtualHost *:80>
ServerName www.example.com
ServerAlias mysite.com www.example.com
DocumentRoot /var/www/html/example/website
</VirtualHost>

これを達成することは可能ですか?可能であれば、リダイレクトを使用するか、仮想ホストを変更してそれを行うことを考えていました。私はほとんどの場合、サービスと競合するWebサイトが心配です。

それが何かに影響を与える場合、ウェブサイトはWordPressサイトになります。

1
meds

mod_aliasAliasディレクティブを使用する必要があります。別のサーバー側ディレクトリからのパスのドキュメントを提供するように設計されています。

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/html/example/website
    Alias "/services" "/var/www/html/example/service"
</VirtualHost>

あなたが試したことに関するいくつかのメモ:

  • ドメインごとに1つの仮想ホスト構成しか持てません。 1つのサイトに対して2つの仮想ホストを作成しようとしてもうまくいきませんでした。
  • ServerAliasはドメイン名専用です。その中にパスを入れてもうまくいきません。
1