Assumindo que todos esses subdomínios resolvam para o mesmo lugar no sistema de arquivos, então ... para redirecionar de this-site.com
para thisstite.com
enquanto preserva o subdomínio e o restante da URL (ou seja, URL caminho e string de consulta), você pode fazer algo parecido com o seguinte, usando o mod_rewrite, próximo ao topo do seu arquivo .htaccess
na raiz do seu site:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)\.this-site\.com [NC]
RewriteRule ^ https://%1.thissite.com%{REQUEST_URI} [R=302,L]
Eu assumi HTTPS
. Isso redireciona https://<subdomain>.this-site.com/<url-path>[?<query-string>]
para https://<subdomain>.thissite.com/<url-path>?<query-string>
.
O %1
é uma referência anterior ao primeiro grupo capturado no último CondPattern correspondente. Em outras palavras, isso corresponde ao subdomínio ( ([^.]+)
parte no regex anterior) no nome do host solicitado.
Note também:
- Isso redirecionará todos os subdomínios, incluindo
www
. - Mas não redirecionará sub-subdomínios, por exemplo.
subsubdomain.subdomain1.thissite.com
não será redirecionado. - E ele só redirecionará subdomínios, por isso não redirecionará
this-site.com
.
Este também é um redirecionamento temporário (302). Se isso se destina a ser permanente, altere o 302 para 301, mas somente depois de confirmar que está funcionando OK. (301s são armazenados em cache pelo navegador, portanto, podem tornar o teste problemático.)