O site principal do Apache continua redirecionando para o virtualhost

1

Eu tenho um site com o servidor Apache, que também hospeda alguns subdomínios.

O problema que enfrento é que uma vez que eu ative qualquer virtualhost, o site principal continua redirecionando para o (ainda que apenas) virtualhost que tenho.

Se eu desativar o virtualhost, tudo funcionará bem no site principal, mas sem o subdomínio necessário.

Estou usando o apache 2.2.19-1 no ArchLinux.

Eu tenho mydomain.com como o site principal com o seguinte httpd.conf:

ServerRoot "/etc/httpd"
Listen 80

#LoadModule section... a lot of LoadModule I omit

User http
Group http

ServerAdmin [email protected]

ServerName mydomain.com:80

DocumentRoot "/srv/http"

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "/srv/http">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog "/var/log/httpd/error_log"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "/var/log/httpd/access_log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
</IfModule>

<Directory "/srv/http/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

# Some included conf files follow, I won't post them, just vhosts, but if needed ask me and I'll post them. As far as I know they aren't relevant
# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf
# Fancy directory listings
Include conf/extra/httpd-autoindex.conf
# Language settings
Include conf/extra/httpd-languages.conf
# User home directories
Include conf/extra/httpd-userdir.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
# Various default settings
Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
<IfModule ssl_module>
  SSLRandomSeed startup builtin
  SSLRandomSeed connect builtin
</IfModule>

Aqui está o meu conf / extra / httpd-vhosts.conf:

NameVirtualHost *:80
Include conf/extra/vhosts/

E finalmente meu conf / extra / vhosts / yetonlyvhost.conf

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName subdomain.mydomain.com
     ServerAlias subdomain.mydomain.com
     DocumentRoot "/home/myuser/subdomaindir"
     DirectoryIndex indice.html
     ErrorLog "/var/log/httpd/vhost-error_log"
     CustomLog "/var/log/httpd/vhost-access_log" combined

    <Directory "/home/myuser/subdomaindir">
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

(o índice do subdomínio deve ser o arquivo 'indice.html')

Alguma idéia do que estou fazendo errado? Eu tinha alguma configuração semelhante antes em outro servidor que eu perdi, mas eu tenho certeza que quase está ok aqui, mas eu não encontrei o que está errado agora ...

Obrigado!

    
por Javier Novoa C. 03.06.2011 / 20:52

1 resposta

1

A solução é bem simples:

apenas tenha outro host virtual para o host principal também. Quando o Apache é solicitado para um site que não está configurado, ele usa o padrão, que é o primeiro nas listas de hosts virtuais ...

Obrigado!

    
por 21.06.2011 / 19:56