Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiagocaus

Redirecionamento

Recommended Posts

Olá Pessoal,

Estou precisando de uma ajuda de vocês...

 

Estou fazendo um site onde é gerado um link. Ex: http://meusite.us/MyKLQI. A intenção é que quanto a pessoa acessar esse link ele seja direcionado para o link correspondente ao código MyKLQI.

Novo Ex:

http://meusite.us/MyKLQI = http://www.google.com.br/blablablablablablablablablablablablablabla

 

A ideia e transformar um link gigante em algo menor.

 

OBS: Todas as informações estão em banco de dados.

 

De que forma eu consigo fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você faz com que esse codigo seja unico no seu servidor MyKLQI e dai na pagina que recebe ele você busca no banco e manda redirecionar pro endereço correspondente no banco...

 

 

 

<?php
  $codigo = $_GET['codigo']; // MyKLQI

  $sql = mysql_query("SELECT * FROM enderecos WHERE codigo='$codigo'");

  if (mysql_num_rows($sql) > 0) {
    $row = mysql_fetch_array($sql);
    $url = $row["url"];
    header("Location: $url");
  } else {
    echo "Código inválido...";
  }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Amigão, obrigado pela resposta, mas esse código que me passou não funcionou. Veja essa idéia (http://bit.ly/ay1Zl6) Se você acessar esse link ele ira te redirecionar para outro lugar. Essa é a ideia, usar o menor numero de caracteres para o link.

 

A idéia do meu link é a mesma para o meu link precisa pegar o codigo de pois da "/" e fazer o redirecionamento.

 

 

Se alguém tiver mais idéia e poder ajudar, fico agradecido.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

<?php
$link=$_SERVER["REQUEST_URI"];
$query=mysql_query("SELECT endereco FROM tabela WHERE id='$link'");
if(mysql_num_rows($query)==1){
 $endereco=mysql_fetch_assoc($query);
 echo"<script>window.location.href('".$endereco["endereco"]."')</script>";
}
else{
   echo"Link inexistente!";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Thiago explique melhor! Isso que você pôs aqui: http://meusite.us/MyKLQI é diefrente do que você pôs aqui: http://linkisite.us/i/MyKLQI! Estou me referindo aquele "i" ali! Uma pergunta, quando eu digitar http://linkisite.us/MyKLQI o usuario é redirecionado para uma página que verifica isso e depois para a página do link?

 

EDIT

 

Outra coisa você precisa verificar se a url digitada existe e se ela á válida! Eu segurei o 9 um bom tempo até ficar com 349 caracteres, e o site simplesmente exibiu um link!, um erro porque alguem mal intecionado pode meter dados no seus DB sem o menor sentido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

A pasta /i/ é temporário, somente para eu testar, se funcionar estarei colocando na pasta raiz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

A pasta /i/ é temporário, somente para eu testar, se funcionar estarei colocando na pasta raiz.

 

Bom como tem essa pasta vou refazer o codigo! Mas eu preciso de saberse quando eu digito por exemplo: seusite.us/php se eu sou redirecionado para uma página que que verifica esse link e depois redireciona ou se é na mesma página?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom procurando aqui nos meus posts antigos encontrei algo que possa resolver:

 

Vá no bloco de notas, copie e cole isso aqui:

RewriteEngine on
RewriteBase /
RewriteRule ^([a-z,0-9,A-Z,_-]+)$ redireciona.php?id=$1

Salve como .htaccess, isso mesmo não é o nome mas o formato .htaccess! Aí poe esse arquivo na sua pasta raiz!

 

Agora a página que faz a mágica :)(espero!):

 

<?php
$link=$_GET["id"];
$query=mysql_query("SELECT endereco FROM tabela WHERE id='$link'");
if(mysql_num_rows($query)==1){
$endereco=mysql_fetch_assoc($query);
echo"<script>window.location.href('".$endereco["endereco"]."')</script>";
}
else{
  echo"Link inexistente!";
}
?>

 

E retira aquele pasta i! Ponha tudo na pasta raiz mesmo, so para testar! Valeu! Ah salve esse código php como redireciona.php ou com outro nome mas se mudar de nome mude aqui também:

 

RewriteRule ^([a-z,0-9,A-Z,_-]+)$ redireciona.php?id=$1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o seu MSN? Vou te passar o meu codigo para dar uma olhada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.