次のようなドメイン名を持つApache上のvhostを使用できるかどうかに興味があります:http://something.com/somethingまたはhttp:// {server-ip-address-here }/something?
私はUbuntuサーバーでApache2.2.20を使用しています。これは私のホームサーバーであり、ここでいくつかのテストを行っています。ここにはDNSサーバーがなく、オープンdnsサービスから接続されているパブリックIPアドレスとドメイン名のみがあります。 。
それで、私は何をしましたか:
私はそこにこれを置きました(実際にはデフォルトファイルから変更を加えてコピーされています):
<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は別々のサイトとして表示されます