サブフォルダーのようなURLを持つApache上の仮想ホスト
次のようなドメイン名を持つApache上のvhostを使用できるかどうかに興味があります:http://something.com/somethingまたはhttp:// {server-ip-address-here }/something?
私はUbuntuサーバーでApache2.2.20を使用しています。これは私のホームサーバーであり、ここでいくつかのテストを行っています。ここにはDNSサーバーがなく、オープンdnsサービスから接続されているパブリックIPアドレスとドメイン名のみがあります。 。
それで、私は何をしましたか:
- / etc/Apache2/sites-availableに新しいファイル「demo」を作成しました
私はそこにこれを置きました(実際にはデフォルトファイルから変更を加えてコピーされています):
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName {mydomain-here}/demo/ DocumentRoot /vhosts/demo <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /vhosts/demo/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${Apache_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${Apache_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> </ code>
/ etc/Apache2/sites-enabled /に、/ etc/Apache2/sites-available/demoを指すシンボリックリンクを作成しました
作成/ vhosts/demo/index.htmlファイル。
そして今、私が得たのは、{my-domain}に行くと、私が作成したvhostに行くということですが、問題は、{my-domain}/demoだけでなく、どのような場合でもサーバーが私をそこに指し示すことです。
結論として、異なる仮想ホストを作成し、それらを同じベースURLを持つ異なるURL(www.mydomain.com/vhost1、www.mydomain.com/vhost2など)にアタッチできるようにしたいと思います。
出来ますか?ありがとう:)
まず、どのような場合でも、仮想ホストに*:80設定があるため、リクエストに一致するものがない場合は、最初の仮想ホストエントリが使用されます。
あなたが何をしようとしているのか理解できれば、それぞれの「仮想ホスト」にエイリアスを付けたいと思うかもしれません。
あなたがやろうとしていることは完全に仮想ホストではありませんが(少なくとも仮想ホストがやるべきこと)、Apacheのエイリアス機能を使用することでそれを達成できるかもしれません
Alias /vhost1 /whatever/folder/your/vhost1/site/is/at
Alias /vhost2 /whatever/folder/your/vhost2/site/is/at
したがって、使用するドメインは何でも、たとえば http://whatever.com/vhost1 または http://whatever.com/vhost2 両方のemは別々のサイトとして表示されます