2013-07-26 9 views
0

В cakephp я хочу перенаправить localhost на app2 и client1.localhost на app1. Вместо этого оба перенаправляются в приложение 1.localhost перенаправление на путь, указанный для поддомена

мой HTTPD-ВХост определяется как:

NameVirtualHost 127.0.0.1 
<VirtualHost 127.0.0.1> 
    DocumentRoot "D:\wamp\www\cakephp\app2\webroot\ 
    ServerName localhost 
</VirtualHost> 

<VirtualHost www.myhost> 
    DocumentRoot "D:\wamp\app1\webroot" 
    ServerName client1.localhost 
    ServerAlias client1.localhost 
    <Directory "D:\wamp\app1\webroot"> 
     Options Indexes FollowSymLinks Includes ExecCGI 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 
+0

какая версия торта вы используете? – Jeroen

+0

Я использую cakephp 1.3 – Amogh

ответ

0

На первый взгляд, есть несколько странные вещи с вашей ВХост конфигурации:

  • Первый корень документ не имеет закрывающего "
  • имена виртуальных хостов должны быть одинаковыми.
  • ваше обращение к веб-каналу, вместо подходящего (есть также .htacces в вашем согласии)

Я использую CakePHP 2.x с WAMP сервер с конфигурацией, как это:

убедитесь, что файл ВХост является раскомментировать в конфигурации Apache: WAMP/бен/Apache/Apache [версия]/CONF/httpd.conf (или левой кнопкой мыши wamp-> apache-> httpd.conf)

# Virtual hosts 
Include conf/extra/httpd-vhosts.conf 

Попробуйте это в WAMP/bin/Apache/Apache [версия] /conf/extra/httpd-vhosts.conf

# 
# Use name-based virtual hosting. 
#  
NameVirtualHost *:80 

# 
# VirtualHost example: 
# Almost any Apache directive may go into a VirtualHost container. 
# The first VirtualHost section is used for all requests that do not 
# match a ServerName or ServerAlias in any <VirtualHost> block. 
# 
<VirtualHost *:80> 
    ServerName client1.localhost 
    DocumentRoot "D:\wamp\app1" 
    <Directory "D:\wamp\app1"> 
     Options FollowSymLinks 
     AllowOverride All 
     Allow from all 
    </Directory> 

    DirectoryIndex index.html index.php 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName dev.localhost 
    DocumentRoot "D:\wamp\www\cakephp\app2" 

    <Directory "D:\wamp\www\cakephp\app2"> 
     Options FollowSymLinks 
     AllowOverride All 
     Allow from all 
    </Directory> 

    DirectoryIndex index.html index.php 
</VirtualHost> 

и поместить его в файл хостов (C: \ WINDOWS \ system32 \ Drivers \ Etc)

127.0.0.1  localhost 
127.0.0.1  dev.localhost 
127.0.0.1  client1.localhost 

сделать WAMP перезапустить все службы. App2 будет доступен как на локальном хосте, так и на dev.localhost

+0

@Jeron Что нужно добавить в httpd.conf для указания виртуального хоста. Я попытался использовать конфигурацию, указанную в apache.org, только client1.localhost работает, localhost выбрасывает 500 ошибок. – Amogh

+0

Когда я сделал этот ответ, я подумал, что это было довольно странно, но так оно и работает на моем ПК. Я попытаюсь найти настройку, которая сделает это. В httpd.conf я установил «ServerName localhost: 80», а другие параметры все те же (все они указывают на места для wamp по умолчанию. Я не отказываюсь от стандартного www-каталога). – Jeroen

Смежные вопросы