Jump to content


Photo

Redirecionar Https Para Http


  • Faça o login para participar
8 replies to this topic

#1 Guilherme de Oliveira

Guilherme de Oliveira

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:Patos de Minas - MG

Posted 06/06/2011, 20:54

pessoal tinha meu site publicado em um server que o http era:

http://guilherme123.com

e o https:

https://guilherme123.com

só que agora, estou transferindo o meu site para outro servidor, na verdade o guilherme123 era somente para testes.

neste novo domínio, o http é?

http://patofaminto.com.br

e o https:

https://patofamint.sslblindado.com

os nomes são diferentes, a minha duvida é que no server antigo o código abaixo funcionava e redirecionada de https para http e vice-versa.
agora neste novo ele só redireciona de http para https, e de https para http não funciona.

esse aqui quando a pagina é acessada por https, ele redireciona para http (não funcionando, funcionava em outro server):
//A página pode ser acessada somente por HTTP
if($_SERVER['HTTPS'] == 'on'){
        
        $url = 'http://patofaminto.com.br' . $_SERVER['REQUEST_URI'];
        header("Location: $url");
        exit;
        
}



esse aqui quando a página é acessada por http, ele redireciona para https (funcionando ok):
//A página pode ser acessada somente por HTTPS
if($_SERVER['HTTPS'] != 'on'){
        
        $url = 'https://patofamint.sslblindado.com' . $_SERVER['REQUEST_URI'];
        header("Location: $url");
        exit;
        
}


o navegador informa que há um erro de loop, ou seja, ele redireciona de https para https e não de https para http como quero.


como faço gente, já tentei de tudo, mais nada.
muito obrigado

Edição feita por: Guilherme de Oliveira, 06/06/2011, 20:54.


#2 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 07/06/2011, 09:32

ola tenta usar este codigo??? faça copia de segurança do original pois eu não testei ele?



//A página pode ser acessada somente por HTTPS
if($_SERVER['HTTPS'] != 'on'){
        
        $url = 'https://patofamint.sslblindado.com' . $_SERVER['REQUEST_URI'];
        header("Location: $url");
        exit;
        
}else{
        $url = 'http://patofaminto.com.br/' . $_SERVER['REQUEST_URI'];
        header("Location: $url");
        exit;
}

Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#3 Guilherme de Oliveira

Guilherme de Oliveira

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:Patos de Minas - MG

Posted 07/06/2011, 10:34

olá amigo,

muito obrigado pela ajuda, mas infelizmente não funcionou,continua do mesmo jeito!
mas já valeu

:lol:

#4 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 07/06/2011, 12:16

me explica como vc ta usando ele por exemplo??? se a pessoa tentar acessar
http://patofaminto.com.br em HTTPS ele seja redirecionado para HTTP e se a pessoa tentar acessar https://patofamint.sslblindado.com em HTTP ele seja redirecionado apra HTTPS?? é isto mesmo
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#5 Guilherme de Oliveira

Guilherme de Oliveira

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:Patos de Minas - MG

Posted 07/06/2011, 12:37

é porque tenho várias páginas, algumas vou utilizar http outras https.
durante a navegação ele vai redirecionando para o protocolo correto.

exemplo:

index.php = somente em http
login.php = somente em https

se estiver na index.php e passar para a login.php ele vai me redirecionar de http para https.
se estiver na login.php e passar para a index.php ele vai me redirecionar de https para http.

acontece que esse código funcionava em um outro servidor, esse outro servidor o HTTP e o HTTPS eram iguais os domínios:

HTTP: http://guilherme123.com
HTTPS: https://guilherme123.com

ou seja, o domínio era igual, só trocava o HTTP ou o HTTPS no inicio, e funcionava corretamente.

agora mudei o site de servidor, e os domínios são diferentes:

HTTP: http://patofaminto.com.br
HTTPS: https://patofamint.sslblindado.com

pra dar certo o domínio HTTPS deveria ser: https://patofaminto.com.br
mas ele não é assim, por ser grátis ele é diferente do domínio original.

o problemas é que quando estou navegando em uma página: https://patofamint.s...o.com/teste.php

se página teste.php conter o código para redirecionamento para HTTP (ou seja, quero que ela seja visualizada somente em HTTP) acontece o seguinte: em vez do navegador redirecionar para http://patofaminto.com.br/teste.php , ele fica dando LOOP no mesmo domínio HTTPS, ou seja, ele não muda de https://patofamint.sslblindado.com para http://patofaminto.com.br

echo que deu pra entender kkk

Edição feita por: Guilherme de Oliveira, 07/06/2011, 12:38.


#6 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 07/06/2011, 14:35

ola como agora ficou muito bem explicado vlwww segue os dois codigos funcionando perfeitamente
este ele muda de http pra https
<?php
//autor: Diego Bezerra
//Email: kikoofotografo@hotmail.com
//fonte: Manual PHP
$urls = TRUE;
if($urls && isset($_SERVER['HTTP'])){
  header('Strict-Transport-Security: max-age=500');
}elseif ($urls && !isset($_SERVER['HTTPS'])) {
  header('Status-Code: 301');
  header('Location: https://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']);
}
?>

este muda de https para http

<?php
//autor: Diego Bezerra
//Email: kikoofotografo@hotmail.com
//fonte: Manual PHP
$urls = TRUE;
if($urls && !isset($_SERVER['HTTPS'])){
  header('Strict-Transport-Security: max-age=500');
}elseif ($urls && isset($_SERVER['HTTPS'])) {
  header('Location: http://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']);
}
?>

Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#7 Guilherme de Oliveira

Guilherme de Oliveira

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:Patos de Minas - MG

Posted 07/06/2011, 17:04

amigo infelizmente não funcionou kkkk

algo me diz que passou muito perto de conseguir

o de redirecionar de HTTP para HTTPS funciona realmente, mas o de HTTPS para HTTP ainda não funciona. (xxxxxx erro de loop)

teste você mesmo: https://patofamint.s...o.com/teste.php

:wacko:


------------------------------------------------------------------------------------------------------------------------

gente depois de muito tentar, resolvi deixar todas as páginas do meu site em HTTP mesmo, não usarei mais SSL.

mas fica ai tipo um DESAFIO para quem quiser tentar resolve essa treta.


muito obrigado a ajuda de vocês.

Edição feita por: Guilherme de Oliveira, 07/06/2011, 17:04.


#8 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 07/06/2011, 17:07

ASSIM QUE EU ATIVAR MEU SERVIDOR ONLINE EU VOU TESTAR??? PQ LOCALMENTE AQUI FUNCIONOU BLZ
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#9 Guilherme de Oliveira

Guilherme de Oliveira

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:Patos de Minas - MG

Posted 07/06/2011, 17:19

ok amigo

de qualquer forma muito obrigado.
assim que vc postar de novo aqui, vou conferindo e te falo se deu certo.
mesmo não precisando mais do código, fica a curiosidade de porque não funcionou. :ponder:

muito obrigado




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq