Redirecionar tráfego não-ssl para www ssl (apache)

1

Estou tentando obter um redirecionamento que está falhando e, por algum motivo, não consigo pensar hoje. Eu tenho um arquivo vHost dentro do HTTPD que escuta na porta padrão 80 e na porta 443. Estou tentando redirecionar o link (. *) Para link $ 1 para que o URL permaneça intacto.

Minha configuração é a seguinte:

ServerName www.domain.com
ServerAlias tempdomain.testdomain.co.uk
ServerAlias domain.com

Minha regra de rerwrite que estou usando é.

RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule ^(.*)$ https://www.domain.com$1 [R=301,L]

Eu também tentei remover o \. e $, mas nada .. Quando eu visito o link da url ele não redireciona para link Eu também tenho outras páginas SSL, o acima foi apenas um exemplo ..

Alguém pode apontar minha estupidez?

    
por The NinjaSysadmin 11.01.2011 / 11:48

5 respostas

2

Não consigo ver nada de errado com sua regra de reescrita. Tem a certeza:

RewriteEngine on 

foi especificado e esta configuração está definitivamente sendo executada? Está em um arquivo .htaccess?

Tente configurar um registro de regravação que possa ajudar:

link

    
por 11.01.2011 / 11:56
1

Além de usar uma reconfiguração, ative a Segurança de transporte estrito do HTTP. É fácil e ajuda a se defender contra ataques man-in-the-middle em seus visitantes.

# load module (example using [RHEL])
LoadModule headers_module modules/mod_headers.so

# Use HTTP Strict Transport Security to force client to use secure connections only
Header set Strict-Transport-Security "max-age=86400"
Header append Strict-Transport-Security includeSubDomains

link

    
por 11.01.2011 / 20:37
1

isso é tudo que você precisa

RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ https://www.domain.com$1 [R=permanent,L]

esta regra definitivamente funciona para mim no Apache 2.2

    
por 06.09.2012 / 18:44
0

Acho que está faltando a linha "RewriteEngine On" na sua configuração. Aqui está um exemplo de como tudo se parece:

ServerName www.domain.com
ServerAlias tempdomain.testdomain.co.uk
ServerAlias domain.com 

RewriteEngine On
RewriteRule /.* https://www.domain.com/ [R]

Obrigado e espero que funcione, RayQuang

    
por 11.01.2011 / 11:54
0

Tente ativar o RewriteLog e veja se isso mostra qual é o erro. No seu arquivo httpd.conf (ou na sua diretiva <VirtualHost> ), adicione o seguinte:

RewriteLog "/path/to/some/file.log"
RewriteLogLevel 9

NÃO MANTENHA ISTO ASSIM QUE !!!!!! RewriteLogLevel 9 é muito lento, então não deve ser usado assim na produção, apenas para testes. Mas habilite isso (e recarregue o Apache, é claro) e verifique o arquivo de log para ver o que acontece quando você vai para https://domain.com/secure.page?action=comp .

Se ainda não tiver certeza do problema, edite sua pergunta e poste as partes relevantes do rewritelog.

    
por 11.01.2011 / 20:30