Como ter 2 nomes de domínio apontando para o mesmo site, um http e outro https

1

Atualmente tenho reescrito trabalhando em example.com , o site inteiro é HTTPS, usando isso:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Eu preciso de muitos arquivos neste mesmo site, acessíveis por meio de um segundo nome de domínio, e por HTTP, por exemplo: http://example.net/files/....

Eu tentei adicionar example.net como ServerAlias  mas é claro que isso apenas redireciona e reescreve para https://example.net/files

Copiei a regra de reescrita da Internet e não tenho certeza da maneira correta de modificá-la.

Eu estava pensando em mudar a regra de reescrita para algo do tipo:

RewriteRule ^example.com/?(.*) https://example.com/$1 [R,L]

para que os URLs sejam reescritos apenas se incluírem example.com Então, eu precisaria de uma regra de reescrita para o domínio de TLD em si e não para essa entrada de caractere curinga?

Por favor, alguém pode ajudar com a maneira correta de conseguir isso, para que as solicitações para o ServerAlias ( example.net ) não sejam reescritas?

    
por Paul 05.07.2017 / 13:48

2 respostas

2

Se você quiser apontar dois domínios para o mesmo conteúdo. por exemplo. example.com e example.net . Em seguida, crie hosts virtuais separados para cada domínio, mas aponte-os para mesmo documento raiz . Adicione uma entrada VirtualHost com 80 para HTTP ( http://example.com ) e outra entrada de domínio com 443 com HTTPS ( https://example.net ) e atribua as entradas SSL necessárias.

    
por 05.07.2017 / 14:04
0

Como o Sunil sugere, você pode criar hosts virtuais separados e o redirecionamento SSL só ocorreria no primeiro (por exemplo, example.com port 80). (Você também pode evitar mod_rewrite e apenas usar um único mod_alias Redirect , o que seria preferível).

No entanto, você também pode fazer o que estava sugerindo e criar um ServerAlias para example.net (seu outro outro domínio) e incluir uma condição (ou seja,% diretivaREwriteCond) em seu redirecionamento atual que apenas redireciona o domínio example.com . Por exemplo:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com [NC]
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Observe que isso deve ser um redirecionamento 301 (permanente), depois de confirmar que está funcionando OK. ie. [R=301,L] .

    
por 05.07.2017 / 16:23