読者です 読者をやめる 読者になる 読者になる

symfonyでlocalhostを使わずプロジェクト毎にURLを設定する方法

localhostでテストを行う場合、symfonyのマニュアルでは、DocumentRootをプロジェクトディレクトリにしてしまうため、それ以前から存在するサイト(URL)が使えない状態となっている。それを避けるため、私はこのように設定して使っている(ディレクトリは私のPC上の設定)。

httpd.conf

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "D:/Apache2/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot "D:/Apache2/htdocs/symtest/web"
  ServerName symfonyhost
  DirectoryIndex index.php
  Alias /sf D:/php5/PEAR/data/symfony/web/sf
  <Directory "D:/php5/PEAR/data/symfony/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "D:/Apache2/htdocs/symtest/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Hosts

127.0.0.1       localhost
127.0.0.1       symfonyhost

VirtualHostを利用し、URLによってDocumentRootを変更している。この場合、「http://localhost/」がこれまで通りで、symfonyのプロジェクトが「http://symfonyhost/」となっている。私の場合、現状のコンサートスクウェアやphpMyAdminなどを使っているため、これまで通りlocalhostを使いたかったので、このようにした。この方法なら、どれだけプロジェクトを増やしても他に影響が出ないので、やりやすい方法だと思う。