Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Bom, alguem tem alguma ideia de como fazer que seja pesquisado no banco, um texto que foi informado na url, sem estar setado como variavel, por exemplo o youtube, que se informar a url: https://www.youtube.com/imasters, o site redireciona para o diretório especifico, ou seja, não foi passado valores por get, mas, o site reconhece que a dados após a barra e pesquisa.
eu tentei fazer algo:
$protocolo = (strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') === false) ? 'http' : 'https';
$host = $_SERVER['HTTP_HOST'];
$script = $_SERVER['SCRIPT_NAME'];
$parametros = $_SERVER['QUERY_STRING'];
$UrlAtual = $protocolo . '://' . $host . $script ;
$nome_usuario = basename($UrlAtual);
$sql_usuario = mysql_num_rows(mysql_query("SELECT * FROM user WHERE nome = '$nome_usuario' limit 1"));
if ($sql_usuario == 1)
{
header("location: model02/index.php?usuario=".$nome_usuario);
}
mas, sempre dá erro 404, como se não existisse o arquivo ou diretório que deveria ser o nome de usuario.
vlw
Beraldo, valeu pela ideia.
Bom, preciso que se houver texto apos a '/', seja executado um sql e redirecionado para determinada pagina, está assim:
o .htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url_digitado=$1
o index:
if (isset($_GET['url_digitado']))
{
$nome_texto= $_GET['url_digitado'];
$sql_texto = mysql_num_rows(mysql_query("SELECT * FROM tabela WHERE nome = '$nome_texto' limit 1"));
if ($sql_texto == 1)
{
header("location:".$_SESSION['pagina1']."/user/".$nome_texto);
}
}
e para tentar redirecionar ta assim o .htaccess:
RewriteRule ^user/([a-z]+)/?$ /user/index.php?nome=$1 [NC]
De fato, está pegando o valor via get e consultando normalmente, mas, o redicionamento não existe, a barra de endereço fica: www.nomesite.com.br/user/valordonome, mas, continua na página index
É preciso usar o mod_rewrite. Leia sobre URL Amigáveis (ou URL Rewriting), que entenderá como isso funciona