Ir para conteúdo

Arquivado

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

Marcelo_nd

Urls amigáveis

Recommended Posts

Olá Pessoal... tentei fazer um tutorial ensinado aqui mesmo no Imasters ( http://imasters.com.br/artigo/11219/php/funcao_para_criar_url_amigavel_com_php/ ) e não consegui... Aliás... já varri todos os tutos da net atrás de uma solução para urls amigáveis... Não sei se fica faltando algo..sei que nenhum me deu resultados...

 

Tenho um site de notícias. Estas notícias são separadas por Cidades. Como faria para ler uma notícia através do $id_noticia e $id_cidade???

 

Fico no aguardo galera... abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, se entendi corretamente, é mais ou menos isso que você quer:

<?php
if ((isset($_GET['id_noticia'])) && (isset($_GET['id_cidade']))){
$id_noticia = $_GET['id_noticia'];
$id_cidade = $_GET['id_cidade'];

//chama por arquivo
$res = './resultado/'.$id_cidade.'/'.$id_noticia.'.php';
require $res;

//chama por mysql
#Conexão ao Banco de dados local
$conexao = mysql_connect('localhost', 'user', 'pass');
$db = mysql_select_db('noticias');
#Escreve  resultados
$exibir = "SELECT * FROM `noticias` WHERE `id_cidade` = $id_cidade AND `id_noticia` = $id_noticia";
$resultado = mysql_query($exibir) or die (mysql_error());
$linha = mysql_fetch_array($resultado);
echo $linha['texto'];
}else{
header ("Location: index.php");
}
?>

Era isso que você queria?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo,

Eu fiz esse pequeno tutorial no ano passado.

 

http://www.chaves.in/2009/06/utilizando-urls-amigaveis-com-php/

 

espero que te ajude.

 

Consegui fazer com esse tutorial... + agora meu CSS não funciona... pq? a página ta toda desconfigurada...

 

Meu código:

 

 

<?php

include "../conexao.php";

 

?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html>

 

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8"></meta>

<meta name="description" content="description"/>

<meta name="keywords" content="keywords"/>

<meta name="author" content="author"/>

<link rel="stylesheet" type="text/css" href="../default.css" media="screen"/>

<title>..:: Jornal do Grande Rio - Informação na Hora Certa ::..</title>

<script src="../Scripts/AC_RunActiveContent.js" type="text/javascript"></script>

<script src="../scripts.js" type="text/javascript"></script>

<style type="text/css">

<!--

.style1 {color: #FFFFFF}

-->

</style>

</head>

 

<body>

 

<div class="container">

 

<?php

include"topo.html";

?>

 

<div class="holder">

 

<br />

 

<div class="direita">

 

<?php

include"lateral.php";

?>

 

<br />

 

</div>

 

<div class="esquerda">

 

<?php

include "menu.html";

?>

 

</div>

 

 

 

<div class="centro">

 

<div id="noticia2">

<?php

 

// Convertemos em array quebrando a string nos pontos certos

$urln = explode("?", $_SERVER['REQUEST_URI']);

$urlt = explode("/", $urln[0]);

 

// Para manter a compatibilidade com as urls antigas, vamos verificar existência do arquivo solicitado propriamente dito

if(is_file($urlt[1])){

include($urlt[1]);

}

else{

// tratando a url digitada em forma de array

$url=strip_tags($_SERVER['REQUEST_URI']);

$url_array = explode("/", $url);

 

// Excluimos o primeiro elemento, que sempre será vazio

array_shift($url_array);

 

// Executa aqui o tratamento do array “$url_array”

 

 

$url_cidade = $url_array[2];

$id_noticia = $url_array[3];

 

//$id_noticia = $_GET['id_noticia'];

require "../funcoes.php";

ExibirNoticia($url_cidade,$id_noticia);

//echo"$id_noticia<br> $url_cidade";

 

}

?>

</div>

 

 

<p> </p>

</div>

 

<?php

include"rodape.html";

?>

</div>

</body>

</html>

 

 

Meu .htacces que está na pasta notícias:

 

 

RewriteEngine on #habilita a reescrita

RewriteRule !.(gif|jpg|png|css)$ index.php?url_cidade=$1&id_noticia=$2

 

 

O estranho é que ta funcionando...só que nao importa o CSS...

 

Esqueci de mencionar... Meus arquivos JS também não estão funcionando... eles estão no diretório raiz...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente modificar no .htaccess de:

 

RewriteEngine on #habilita a reescrita
RewriteRule !.(gif|jpg|png|css)$ index.php  #faz o redirecionamento

para:

 

RewriteEngine on #habilita a reescrita
RewriteRule !.(gif|jpg|png|css|js)$ index.php  #faz o redirecionamento

para o diretório raiz não é ./../arquivo.css ao invés de ../arquivo.css ??

Corrijam-me se estiver errado.

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.