Como exibir robots.txt diferentes para http e https no mesmo site?

10

Eu tenho um site pequeno que é servido pelo Apache (não posso colocar o Nginx na frente nem alterar o Apache para nada), e ele está configurado para servir o mesmo site tanto no http como no https (sem redirecionamentos http & > https está lá até agora, então as versões http e https são exibidas em paralelo).

O que eu preciso é configurar .htaccess para que o mesmo URI via http e via https sirva um arquivo de texto diferente?

Como http://example.com/proto.txt diz "O site está sobre http", enquanto https://example.com/proto.txt diria "O site exibido por https".

    
por Kevin M 26.11.2018 / 10:06

2 respostas

19

Use um alias

Crie dois arquivos, robots.txt e robots_http.txt e adicione isso ao seu httpHost VirtualHost:

Alias "/robots.txt" "/path/to/documentroot/robots_http.txt"
    
por 26.11.2018 / 10:09
2

Se você não puder ou não quiser alterar a configuração "principal" do Apache, mas precisar fazer isso em um arquivo .htaccess , poderá usar um RewriteRule com RewriteCond que verifica HTTPS.

Algo ao longo das linhas de:

RewriteEngine On

RewriteCond %{HTTPS} "on"
RewriteRule robots.txt robots_https.txt [L]

provavelmente deve funcionar (não testei).

Observe que isso é baseado no Apache fazendo a terminação HTTPS em si. Se a terminação HTTPS for feita em um proxy reverso antes dele, a condição provavelmente será diferente (e dependerá da configuração do proxy reverso e do Apache).

    
por 27.11.2018 / 12:10