Reescreva a referência de back -reference a não funcionar
-
20-09-2019 - |
Pergunta
Se eu for para http://www.example.com
Eu quero que fique lá, o que está funcionando bem.
Se eu for para http://bar.example.com
Ele redireciona para http://www..com
, o que está errado
EU querer para ir para http://www.example.com
dada a referência de back RewriteCond
RewriteEngine On RewriteCond %{HTTP_HOST} !^$ RewriteCond %{HTTP_HOST} !^www.(example).com [NC] RewriteRule ^(.*) http://www.%1.com/$1 [L,R]
Ubuntu 8.04
Pacote: Apache2-MPM-Preformar
Arquitetura: i386
Versão: 2.2.8-1
Solução
Os padrões negados não correspondem e, portanto, você não pode fazer referência a um grupo dessa correspondência inexistente.
Mas tente esta regra: em vez disso:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*) http://www.example.com/$1 [L,R=301]
Outras dicas
Sua condição não corresponde a Bar.mysite.com:
RewriteCond %{HTTP_HOST} !^www.(mysite).com [NC]
Você precisa alterá -lo para corresponder para que a referência de backreference funcionasse:
RewriteCond %{HTTP_HOST} !^[^\.]+\.(mysite)\.com [NC]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow