301 Redirecionar tudo para outro domínio, exceto para um subdomínio

1

Estou tentando redirecionar:

domain.com e www.domain.com para https://www.newdomain.com com um redirecionamento 301, exceto por subdomain.domain.com .

Eu tentei métodos diferentes, mas eles não estão funcionando. Acredito que o caminho físico do meu subdomínio esteja abaixo de httpdocs/subdomain/ do host (por exemplo, domain.com/subdomain/ )

Além disso, gostaria que www.domain.com/subdomain/ tivesse seu próprio .htaccess com mod_rewrite totalmente funcional. É possível? Como?

    
por David 03.07.2018 / 06:12

2 respostas

1

In addition, I would like for www.domain.com/subdomain/ to have its own .htaccess with fully working mod_rewrite. Is it possible? How?

Sim, isso é possível. Você simplesmente faz como sugere e inclui um arquivo .htaccess no subdiretório /subdomain . .htaccess arquivos trabalham ao longo do caminho do sistema de arquivos.

Por padrão, as diretivas mod_rewrite substituem completamente quaisquer diretivas mod_rewrite em um arquivo de configuração pai, elas não são herdadas. Portanto, se você incluir as diretivas mod_rewrite no arquivo .htaccess do subdomínio, isso facilitará o redirecionamento anterior - agora não há necessidade de incluir nenhuma condição especial ( RewriteCond diretivas). Pode ser simplificado para apenas uma única diretiva. Por exemplo:

RewriteRule (.*) https://www.newdomain.com/$1 [R=301,L]

(Isso pressupõe que newdomain.com esteja hospedado externamente.)

Ao acessar o subdomínio, as diretivas mod_rewrite no subdiretório /subdomain são processadas e o redirecionamento no arquivo root .htaccess é completamente ignorado.

    
por 10.07.2018 / 01:24
0

Você pode usar mod_rewrite:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
    
por 03.07.2018 / 06:52