Symfony: много проектов в разных областях - PullRequest
0 голосов
/ 01 февраля 2012

Я учу Symfony прямо сейчас. Я создал 2 проекта Symfony с 2 разными доменами. Тем не менее, мой второй домен указывает на первый, и не знаю почему.

Я следую этому уроку, известному Jobeet: http://www.symfony -project.org / jobeet / 1 ... rine / en / 01

Обратите внимание на мои конфигурации:

Мой /etc/apache2/httpd.conf

ServerName localhost

#From the symfony tutorial "jobeet"
# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080

# This is the configuration for your project
<VirtualHost 127.0.0.1:80>
 ServerName www.jobeet.com.localhost
 DocumentRoot "/home/lola/sfprojects/jobeet/web"
 DirectoryIndex index.php
 <Directory "/home/lola/sfprojects/jobeet/web">
    AllowOverride All
    Allow from All
 </Directory>
 Alias /sf /home/lola/sfprojects/jobeet/lib/vendor/symfony/data/web/sf
<Directory "/home/lola/sfprojects/jobeet/lib/vendor/symfony/data/web/sf">
    AllowOverride All
   Allow from All
 </Directory>
</VirtualHost>


#Another symfony tutorial
NameVirtualHost 127.0.0.1:8081

<VirtualHost 127.0.0.1:80>
ServerName www.tutorial.com.localhost
DocumentRoot "/home/sfprojects/tutorial/web"
  DirectoryIndex index.php
  <Directory "/home/sfprojects/tutorial/web">
    AllowOverride All
    Allow from All
  </Directory>
  Alias /sf /home/lola/sfprojects/tutorial/lib/vendor/symfony/data/web/sf
  <Directory "/home/lola/sfprojects/tutorial/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Обратите внимание , что я слушаю 8081 порт в учебном домене . Я попробовал перестановку VirtualHost 127.0.0.1:80 и VirtualHost 127.0.0.1:81. Ни один не работал. (действительно не знаю, какое использование)

Мои / etc / hosts:

#From the symfony tutorial
127.0.0.1 www.jobeet.com.localhost

#From ANOTHER symfony tutorial
127.0.0.1 www.tutorial.com.localhost

После этого я перезапустил Apache.

Теперь, когда я это сделаю: http://www.jobeet.com.localhost/frontend_dev.php/ Я перехожу к своим учебным материалам по Jobeet, НО , когда я http://www.tutorial.com.localhost/frontend_dev.php/ I ТАКЖЕ перехожу на страницу Jobeet. Я должен перейти к тому, который содержит учебник часть.

Почему не работает ??!

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Хорошо:

В /etc/apache2/httpd.conf достаточно:

 NameVirtualHost 127.0.0.1:80

Я повторил эту команду при создании другого ServeName ( tutorial ). Может быть, это был конфликт. Я оставил все в порту 80 . Теперь это разрешить правильно.

Итак, это последний файл /etc/apache2/httpd.conf:

ServerName localhost

NameVirtualHost 127.0.0.1:80

# This is the configuration for your project
<VirtualHost 127.0.0.1:80>
 ServerName www.jobeet.com.localhost
 DocumentRoot "/home/lola/sfprojects/jobeet/web"
 DirectoryIndex index.php
 <Directory "/home/lola/sfprojects/jobeet/web">
    AllowOverride All
    Allow from All
 </Directory>
 Alias /sf /home/lola/sfprojects/jobeet/lib/vendor/symfony/data/web/sf
<Directory "/home/lola/sfprojects/jobeet/lib/vendor/symfony/data/web/sf">
   AllowOverride All
   Allow from All
</Directory>
</VirtualHost>


#Another symfony tutorial
# DO NOT REPEAT NameVirtualHost 127.0.0.1:80 --------> ****HERE: do not repeat this****

<VirtualHost 127.0.0.1:80>
ServerName www.tutorial.com.localhost
DocumentRoot "/home/sfprojects/tutorial/web"
  DirectoryIndex index.php
  <Directory "/home/sfprojects/tutorial/web">
    AllowOverride All
    Allow from All
  </Directory>
  Alias /sf /home/lola/sfprojects/tutorial/lib/vendor/symfony/data/web/sf
  <Directory "/home/lola/sfprojects/tutorial/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
 </VirtualHost>

Файл / etc / hosts (или в / etc / apache2 / sites-avaiable для debian) такой же.

Я могу получить доступ к www.jobeet.com.localhost и www.tutorial.com.localhost

Извините, это была моя неправильная конфигурация.

0 голосов
/ 02 февраля 2012
  1. Распространенной ошибкой является отключение модуля виртуального хоста для apache, для его включения попробуйте: sudo a2enmod virtualhost

  2. поместите свой vhost conf в /etc/apache2/sites-available/name-file-with-vhost-conf

  3. все виртуальные хосты должны быть включены, с sudo a2ensite name-file-with-vhost-conf

  4. apache2 необходимо перезагрузить sudo service apache2 reload

вы можете попробовать это github / rokemaster / virtual_hosts это все шаги в одном скрипте

...