После настройки проекта Symfony и изменения файла hosts не-symfony проекты больше не работают на apache? - PullRequest
0 голосов
/ 19 августа 2011

Я использую xampp.

Я создал проект в Symfony и добавил его в apaches httpd.conf:

<VirtualHost 127.0.0.1:80>
  ServerName www.plusoneboosters.com.localhost
  DocumentRoot "C:\my_xampp\xampp\htdocs\plusoneboosters\web"
  DirectoryIndex index.php
  <Directory "C:\my_xampp\xampp\htdocs\plusoneboosters\web">
    AllowOverride All
    Allow from All
  </Directory>
  Alias /sf "C:\my_xampp\xampp\htdocs\plusoneboosters\lib\vendor\symfony\data\web\sf"
  <Directory "C:\my_xampp\xampp\htdocs\plusoneboosters\lib\vendor\symfony\data\web\sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Я также добавил это в файл hosts (Windows):

127.0.0.1 www.plusoneboosters.com.localhost

Этот проект работает, но все проекты, которые не установлены с Symfony, больше не работают - запуск localhost / project / index.php перенаправит на проект Symfony.

Я подозреваю, что это происходит из-за htaccess, но я не знаю, что заменить, чтобы заставить его работать.

Я также пытался добавить еще один виртуальный хост, не работал.

Какможно ли обойти это?

Редактировать: Я думаю, что нашел решение.

Я добавил еще один виртуальный хост в httpd.conf с другим IP: 127.0.0.2, и, похоже, он работаетхорошо сейчас.Я не уверен, что это правильный способ сделать это ...

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Когда вы начинаете использовать виртуальные хосты, вам нужно определить как минимум два из них, чтобы сохранить вашу старую конфигурацию, в противном случае ваш симфонический виртуальный хост стал виртуальным хостом по умолчанию и перехватывает все запросы. Поэтому добавьте в вашу конфигурацию apache следующие строки ДО конфигурации symphony vhost

# this allows vhost based on hostname and NOT on ip only
NameVirtualHost *

<VirtualHost _default_>
  ServerName localhost
  DocumentRoot "your old document root"
  DirectoryIndex index.php
  <Directory "your old root document root">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

<VirtualHost *>
  ServerName www.plusoneboosters.com.localhost
  ...
</VirtualHost>

Если у вас есть доступ к инструменту командной строки apache, вы можете проверить конфигурацию и приоритет vhost с помощью apachectl -S, который выдает отчет обо всех определенных виртуальных хостах

Примеры виртуальных хостов Apache

0 голосов
/ 19 августа 2011

Моя настройка в Xampp для Symfony:

  • Добавить запись для моего проекта в файле hosts (например, 127.0.0.1 www.jobeet.com.localhost)

  • Makeуверен, что conf / extra / httpd-vhosts.conf включен в httpd.conf (я думаю, что это по умолчанию:)

    # Virtual hosts
    Include "conf/extra/httpd-vhosts.conf"
  • В conf / extra / httpd-vhosts.conf, добавьте (раскомментируйте и отредактируйте) запись для хоста по умолчанию:
    
        ServerName localhost
        DocumentRoot "C:/Matt/xampp/htdocs/"
        ErrorLog "logs/localhost-error.log"
        CustomLog "logs/localhost-access.log" combined
    
  • Затем, ниже, добавьте запись для проекта (ов) Symfony:
    
    ServerName www.jobeet.com.localhost
    DocumentRoot "C:/Matt/xampp/htdocs/jobeet/web"
    DirectoryIndex index.php
    
        AllowOverride All
        Allow from All
    
    Alias /sf "C:/Matt/xampp/htdocs/jobeet/lib/vendor/symfony/data/web/sf"
    
        AllowOverride All
        Allow from All
    
    

Обратите внимание, что я не добавил любые записи VirtualHost в сам файл httpd.conf.Эта установка отлично работает для меня с последней версией Xampp, и я могу просто посетить http://localhost/test.html и http://www.jobeet.com.localhost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...