問題は、3つの異なる製品を実行する必要があるドメイン名が1つしかないことです(そのうちの2つはPHPベース、1つのPython)です)。したがって、私がする必要があるのは、別の仮想ホストとしてのURL;すなわち:
www.domain.com/first_url/
www.domain.com/second_url/
www.domain.com/third_url/
1番目から3番目が個別の仮想ホストとして機能する場合。
これを行う方法の手がかりはありますか?
仮想ホストソリューションを求めているので、Apache-configディレクティブを使用して何かをしたいと思うかもしれません。 @cweiskeが説明したように、Apacheは実際のドメインとしてvirtualHostsでのみ機能します。
この場合の解決策は、作業中のサブディレクトリで.htaccess
ファイルを使用するか、現在の(仮想)ホスト構成内に<Directory "/web/root/subdir">..</Directory>
ブロックを設定することです。
それらをVirtualHosts( 'app1.domain.org')として実行したい場合は、それらを異なるサブドメインでホストすることもできます。
この質問が出されてからしばらく経ちましたが、同様の問題の解決策を探していたので、解決策を追加します。
これは、AliasまたはAliasMatchディレクティブを使用して実現できます。詳細については、こちらをご覧ください。
http://httpd.Apache.org/docs/2.2/mod/mod_alias.html
Alias /first_url/ /var/www/first_url_resources
Apacheの「仮想ホスト」は、パスの一部ではなく、ドメイン名でのみ機能します。あなたはあなたが望むことを達成することはできません。
この例では、ディレクトリごとに異なるPHPバージョンを割り当てる方法を説明します。また、Pythonを実行することで、Python support =特定のポートでのfast_cgi
としてのインタプリタ
例の目的のために、PHPバージョンごとに個別のディレクトリがあり、それらを実行するPHPバージョンに従って名前が付けられていると仮定しますが、これは調整済み
mkdir /home/user/www
mkdir /home/user/www/5.6.5
mkdir /home/user/www/7.0.2
mkdir /home/user/www/7.0.4
mkdir /home/user/www/7.0.6
異なるPHPバージョンで処理する必要があるディレクトリへのシンボリックリンクを作成する
Sudo ln -s /home/user/www/7.0.2/ /var/www/html/7.0.2
Sudo ln -s /home/user/www/7.0.4/ /var/www/html/7.0.4
Sudo ln -s /home/user/www/7.0.6/ /var/www/html/7.0.6
次に、デフォルトの仮想ホスト*:80
の/etc/Apache2/sites-enabled/000-default.confに次の行を追加します。
(必要に応じて、Pythonを必要とするWebサイト用にもう1つの高速cgiハンドラーをここでセットアップできます)、php 5.6.5
はポート9999
で実行され、7.0.2
はポート9998
で実行されると仮定します...
DirectoryIndex index.html index.php
ProxyPassMatch ^/5.6.5/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9999/var/www/html/
ProxyPassMatch ^/7.0.2/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9998/var/www/html/
ProxyPassMatch ^/7.0.4/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9997/var/www/html/
ProxyPassMatch ^/7.0.6/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9996/var/www/html/
サーバーがexample.com
によってポイントされていると仮定すると、でテストできます
http://example.com/5.6.5/
http://example.com/7.0.2/
http://example.com/7.0.4/
http://example.com/7.0.6/