Redirecionando de www.domain.com para http://domain.com, em apache, sem .htaccess?

1

No meu host antigo, ao adicionar um domínio, eu poderia escolher se eu queria http://www.domain , http://domain ou ambos (se eu escolhesse, por exemplo, www.domain, ele redirecionaria http://domai n para http://www.com . )

isso é possível sem editar o .htaccess? como em vosts.conf?

também, se o fizer via .htaccess, qual é o melhor método?

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 

Eu li que sem a primeira linha, navegadores http / 1.0 irá falhar (como eles não incluem o host no cabeçalho)

    
por JamesHannah 30.10.2009 / 22:56

2 respostas

2

Se você não estiver fazendo nada com SSL, poderá usar também hosts virtuais baseados em nome para emitir os redirecionamentos. Um host virtual seria o desejado, e o outro seria seu redirecionamento.

<VirtualHost XXX.XXX.XXX.XXX>
ServerName old.com
ServerAlias www.old.com
Redirect permanent / http://www.new.com/
</VirtualHost>


<VirtualHost XXX.XXX.XXX.XXX>
ServerName www.new.com
<Directory /var/www/www.new.com>

</Directory>
</VirtualHost>

Veja # 6 no seguinte site: link

    
por 02.11.2009 / 15:33
1

Qualquer coisa que você possa colocar no .htaccess você também pode colocar dentro de uma sub-rotina <Directory/> na configuração do VirtualHost para o site que você está tentando alterar - .htaccess é apenas um atalho para fazer isso.

Por exemplo, você pode estender uma diretiva Virtualhost assim:

<VirtualHost x.x.x.x:80>
    ServerName something.com
    ErrorLog logs/something.com-error.log
    ###### Add the 5 lines below....  ######
    <Directory /var/www/something.com/html>
        RewriteCond %{HTTP_HOST} .
        RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
        RewriteRule (.*) http://www.example.com/$1 [R=301,L]
    </Directory>
</VirtualHost>

Como você mencionou "vhost.conf", suponho que você esteja usando um servidor Plesk, caso em que você pode simplesmente adicionar a sub-rotina <Directory/> ao vhost.conf (lembrando-se de corrigir o caminho para o diretório httpdocs do seu site.

Lembre-se de executar /usr/local/psa/admin/bin/websrvmng -a depois e reinicie o Apache.

    
por 31.10.2009 / 10:42