Pergunta

Eu estou usando servidor LAMP, e eu preciso redirecionar solicitações como:

www.www.example.com para www.example.com e outras variações, como (wwww.example.com, etc)

Eu sei que posso fazê-lo em .htaccess, mas eu não sei a expressão regular que eu deveria usar para representar todas estas possibilidades.

Ou existe qualquer abordagem diferente, vindo dos vhosts?

Foi útil?

Solução

Eu como:

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

Basicamente tudo o que de não www.example.com terá 301'd redirecionamento.

Outras dicas

Veja este artigo para a implementação de "subdomínios de curinga." Você está indo para necessidade de implementar tanto um .htaccess e modificar os vhosts.

http://www.easymodrewrite.com/example-subdomains

Se você estiver interessado em limitando-se apenas a "www.www", "wwww.", E os outros exemplos acima, você pode facilmente fazê-lo com alguns do lado do servidor de codificação (o que o torna mais flexível do que a implementação mais código .htaccess). Apenas detectar o que o subdomínio é, e redirecionar onde quiser.

usando o nome hosts virtuais baseados em Apache você pode fazer isso:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias wwww.example.com www.www.example.com [space seperated list]

    Redirect / http://www.example.com/
</VirtualHost>

Redirect pode tomar um parâmetro para especificar o tipo de redirecionamento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top