web-dev-qa-db-ja.com

Apache-URLパスを仮想ホストとして扱います

問題は、3つの異なる製品を実行する必要があるドメイン名が1つしかないことです(そのうちの2つはPHPベース、1つのPython)です)。したがって、私がする必要があるのは、別の仮想ホストとしてのURL;すなわち:

www.domain.com/first_url/
www.domain.com/second_url/
www.domain.com/third_url/

1番目から3番目が個別の仮想ホストとして機能する場合。

これを行う方法の手がかりはありますか?

16
Ruslan

仮想ホストソリューションを求めているので、Apache-configディレクティブを使用して何かをしたいと思うかもしれません。 @cweiskeが説明したように、Apacheは実際のドメインとしてvirtualHostsでのみ機能します。

この場合の解決策は、作業中のサブディレクトリで.htaccessファイルを使用するか、現在の(仮想)ホスト構成内に<Directory "/web/root/subdir">..</Directory>ブロックを設定することです。

それらをVirtualHosts( 'app1.domain.org')として実行したい場合は、それらを異なるサブドメインでホストすることもできます。

0
PtPazuzu

この質問が出されてからしばらく経ちましたが、同様の問題の解決策を探していたので、解決策を追加します。

これは、AliasまたはAliasMatchディレクティブを使用して実現できます。詳細については、こちらをご覧ください。

http://httpd.Apache.org/docs/2.2/mod/mod_alias.html

Alias /first_url/ /var/www/first_url_resources
21
x3c7

Apacheの「仮想ホスト」は、パスの一部ではなく、ドメイン名でのみ機能します。あなたはあなたが望むことを達成することはできません。

4
cweiske

この例では、ディレクトリごとに異なる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/
3
Marek