Jump to content


Photo

Url Amigavel


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

#1 toniher

toniher

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 27/08/2008, 12:12

Bom dia, Pessoal.

Estou tentando montar um script para traduzir minhas urls.
Li varios tutoriais, mas não esta funcionando, alguém poderia dar uma olhada no me script e me auxiliar no que esta errado.

Tenho duas situção no meu website que buscam o conteudo em tabelas diferentes do banco de dados.

Uma são das páginas de notícias e a outras são páginas normais do site.

As notícias gostaria fosse visualizada assim: www.site.com.br/noticia/1 (ou 2 e etc...)
Obs. o conteudo das notícias são referenciados pelo cn_id=número de ocupação na tabela de notícias do banco.

As paginas são referenciados pelo pn_descricao=nome , dela registrado na tabela destinada do banco.

neste caso gostaria fosse visualizada desta forma: www.site.com.br/pagina/nome_da_pagina

e em breve terei q acrescentar uma terceira opção ( servição)
q ficaria assim: www.site.com.br/serv/nome_do_serviço


OBS. Preciso que sejam desta forma, pois para cada item terei um template diferente.

arquivo .htaccess

RewriteEngine on
RewriteRule !\.(gif|jpg|png|css)$ main.php



Aquivo Main

<?php
// Capturamos a url digitada

$url_site = $_SERVER['REQUEST_URI'];

// 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]);  
	exit();
	}

// Ja vimos que nao e um arquivo existente, entao prosseguimos
// 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);

// Se a array ficou vazia, mandamos ver no index.php

if(empty($url_array) or $url_array[0] == ""){
	include("index.php");
	 exit();
	}
// Se restou algo nela, vamos carregar o arquivo correto.
// Adaptacoes possivelmente so precisarao ser feitas nesta
// parte do código

else {
	// Materia

if ($url_array[0] == "pagina") {

	// capturamos a id passada na url

	$pn_descricao = $url_array[1];

	// carregamos o arquivo real
	include("pag.php");
   }
   // Noticia  
  elseif ($url_array[0] == "noticia") {
	   // capturamos a id passada na url  
	   $cn_id = $url_array[1];
	// carregamos o arquivo real
		 include("noticia.php");  
	} 
 // Se nao for nenhuma das opcoes acima, carregamos a index mesmo

  else {
	include("index.php");
  } 
  exit();
}
?>

Grato pela atenção.

#2 toniher

toniher

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 24/09/2008, 10:29

Bom dia, pessoal ...

Alguém pode me ajudar.....

Grato.

#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 24/09/2008, 11:16

Ok cara, mas não entendi o que é que está lhe faltando...

#4 toniher

toniher

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 24/09/2008, 11:34

Bom dia.

Os scripts que criei a cima não estão funcionando...

fiz de acordo com um tutorial que achei na internet, mas não esta funcionando em meu site.

#5 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 24/09/2008, 11:40

Pois é... mas me pareceu correto.
VocÊ tem idéia de em que ponto ele para de funcionar?
Já deu um print_r nos teus arrays pra ver se eles estão sendo preenchidos corretamente?

#6 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 24/09/2008, 16:29

Como você usando a URL?

E como boirock disse, dá um print_r($urlr); e print_r($urlt); para verificar esses valores.

Edição feita por: lwirkk, 24/09/2008, 16:30.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)




1 user(s) are reading this topic

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

IPB Skin By Virteq