
PHP ファイル内のすべてのリンクにルート相対パスを使用します (例: "url(/img/myimj.jpg)")
Godaddy ホスト サーバーでは、問題なく動作します。
しかし、ローカルホストで実行したいのです。(Ubuntu 9、Apache 2、PHP 5)
たとえば、私のサイトはvar/www/siteoneに保存され、別のサイトはvar/www/sitetwoに保存されています。
ルートディレクトリは「var/www」に設定されます。
ここで問題となるのは、href="/" が var/www/siteone ではなく var/www/ にリンクしていることです。
サイトごとに異なるドキュメント ルートを定義する方法はありますか?
私は Web 開発の初心者なので、仮想ホストでそれができるかどうかはわかりません。
誰か説明してくれませんか?
ご回答ありがとうございます。
このファイル/etc/apache2/sites-available/defaultに新しい仮想ホストを追加する必要があります
しかし、まだ混乱しています。ローカルホストではどうすればよいのでしょうか? デフォルトのIPとポートは常に127.0.0.1:80です。
答え1
各<VirtualHost>
セクションには独自のDocumentRoot
ディレクティブを設定できます。
答え2
私は個人的にVirtualDocumentRootをよく使います:
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#仮想ドキュメントルート
このディレクティブを使用すると、たとえば次のことが可能になります。
VirtualDocumentRoot /var/www/%-2/%-3/
%-2 は「右から 2 番目の項目」なので、exemple.com では exemple です。
%-3 は右から 3 番目の項目なので、foo.exemple.com では foo です。
次に、ホスト名に一致するフォルダーを作成する必要があります。localhost
/ は次のようになります。
/var/www/localhost/_/
値がない場所に _ があることに注意してください (私は常に _ -> www のようなシンボリックリンクを作成します)
したがって、
www.site1.com は /var/www/site1/www/ となり、
www.site2.com は /var/www/site2/www/ となり、
localhost は /var/www/localhost/_/ となります。
それでは、シンボリックリンクを楽しんでください :-)