vhost redirect não existem subdomínios

2

Eu tenho isso no meu arquivo vhost que direciona todos os sub-domínios que não existem para o www principal.

<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias *.mysite.com
    Redirect 301 / http://www.mysite.com/
</VirtualHost> 

O problema que tenho no momento é que algumas pessoas estão ligando para o meu site com www.mysite.com. e o . no final. Isso está causando a quebra do CMS.

Existe uma maneira de modificar este ServerAlias ou uma maneira alternativa para que isso tenha um curinga no final? Eu tentei adicionar um * , mas isso não funcionou.

Este é o vhost completo para este domínio:

# DEV
<VirtualHost *:80>
    ServerName dev.mysite.com
    DocumentRoot /var/www/mysite.com/subdomain/dev/public

    ErrorLog /var/log/apache2/mysite.com-error.log
    LogLevel warn
    CustomLog /var/log/apache2/mysite.com-access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName www.mysite.com
    DocumentRoot /var/www/mysite.com/public

    <Directory /var/www/mysite.com/public>
        Options +FollowSymlinks
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} -s [OR]
        RewriteCond %{REQUEST_FILENAME} -l [OR]
        RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule ^.*$ - [NC,L]
        RewriteRule ^.*$ index.php [NC,L]

        ErrorDocument 404 index.php
    </Directory>
    <Directory /var/www/mysite.com/public/webapp>
        RewriteEngine Off
        <Files *>
            order allow,deny
            deny from all
        </Files>
        <FilesMatch "\.(png|gif|jpe?g|css|js|swf|flv|htc|eot|woff|ttf|svg)$">
            order allow,deny
            allow from all
        </FilesMatch>
    </Directory>
    <Directory /var/www/mysite.com/public/webapp/shared>
        <Files *>
            order allow,deny
            allow from all
        </Files>
    </Directory>

    ErrorLog /var/log/apache2/mysite.com-error.log
    LogLevel warn
    CustomLog /var/log/apache2/mysite.com-access.log combined
</VirtualHost>

# Redirect for non existent subdomains
<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias *.mysite.com
    Redirect 301 / http://www.mysite.com/
</VirtualHost>

Desativei o .htaccess, essa é a razão de todo o <Directory>

    
por John Magnolia 10.04.2012 / 16:19

1 resposta

1

Se esse vhost for o primeiro, você não precisará ServerAliases

.

O vhost da primeira lista, por definição, recebe todas as solicitações que não correspondem ao nome do servidor do virtualhost específico.

Remova o ServerAlias e certifique-se de que este vhost esteja carregado primeiro.

    
por 10.04.2012 / 16:31