Apache redirecionar todos os pedidos para https www

1

Essa pergunta foi feita, mas não estou encontrando a solução. Eu tenho muito pouca experiência em apache. Eu preciso configurar meu servidor para atender as seguintes solicitações

http://, http://www. and https:// and convert them to https://www.

Até agora, isso é o que eu tenho que é meio que trabalhar.

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

No entanto, coloca um www extra. na frente da url quando eu digito link (assim ele acaba ficando assim na url link ). O que preciso fazer para que isso funcione corretamente? E estou colocando isso no arquivo de configuração de edição global httpd.conf. Este é o lugar certo? Parece que eu poderia colocá-lo no arquivo de diretiva de edição do host virtual, mas não tenho certeza? Mais uma vez, eu sou muito novo no apache. Obrigado por qualquer ajuda.

    
por MAZUMA 01.06.2012 / 19:33

2 respostas

3

Isso funcionará

RewriteEngine on

# redirect all http -> https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([a-z.]+)$ [NC]
RewriteRule ^/(.*)$ https://www.%1/$1 [R=301,L]

A primeira seção é o que você tem, o que é bom para http- > https

Próxima seção

A primeira linha irá ignorar www segunda linha irá ignorar se eles introduzirem um endereço IP (pode remover se você quiser) terceiro faz o redirecionamento.

    
por 01.06.2012 / 19:42
0

Isso deve tomar conta de ambos: você pode colocá-lo em seu .htaccess ou httpd.conf

<IfModule mod_rewrite.c>
   RewriteCond %{HTTPS} !=on
   RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
   RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
    
por 01.06.2012 / 19:46