Ir para conteúdo

POWERED BY:

Arquivado

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

JoãoPedroTag

URL amigavel

Recommended Posts

Galera estou com um problema, quero utilizar em meu site de filmes o sistema de URL AMIGAVEL com PHP e o .htaccess, porém até agora nada --'

Configurações das minhas páginas:

 

INDEX:

<?php include "header.php"; ?>
<?php 
 CÓDIGO QUE NÃO CONSIGO MONTAR ONDE MONTA A URL AMIGAVEL E FAZ A CHAMADA DAS PÁGINAS
?>
<?php include "footer.php"; ?>

 

.HTACCESS:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?page=$1

 

Como é um site de filmes, contém a página filmes.php, que puxa do banco de dados a sinopse, capa, etc... A url dá página filmes etá assim no momento meusite.com.br/page=filmes&id=NUMERO DO ID&nome=NOME DO FILME e quero transformar essa url nesse estilo utilizando URL AMIGAVEL meusite.com.br/downloads/filmes/ID DO FILME/NOME DO FILME bom desde de já agradeço quem puder me ajudar ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi de grande ajuda porém acabei caindo em outro erro, minhas index está assim:

 

INDEX:

<?php include "header.php"; ?>
<?php 
if(isset($_GET['page']) && !empty($_GET['page']))
{

$params = explode('/',$_GET['page']);

$page  = isset($params[0]) && !empty($params[0]) ? $params[0] : null;

include("$page.php");

}elseif(empty($page)) {

include("home.php");
}

?>
<?php include "footer.php"; ?>

 

Por exemplo quando clico ná pagina contato fica assim a url meusite.com.br/contato do jeito que eu quero, porém ele não faz o inlcude na página index, ele abre a página contato.php e eu gostaria q inves de abrir o contato.php fizesse o include "contato.php"; se puder me ajudar agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta este código:

 

<?php include_once ('header.php');?>
<?php
$url  = $_GET['page'];
$urlE = explode('/', $url);
/* Pega valores da URL */

$arquivos  = $urlE['0'];
$arquivosP = $urlE['1']; // Se querer passar dois parâmetros
/* Pega valores de Array para páginas */

$paginas = array('painel', 'cadastrar', 'contato', 'listar');
/* Array de páginas cadastradas */

// VALIDAÇÕES COM INCLUDES
if(!isset ($url)){
 include 'home.php'; // Faz o include da home.php se não existir parâmetro
}

if(isset($arquivos) && in_array($arquivos, $paginas)){	  
 include "$arquivos.php"; // Faz o include da página que digitar na URL

}else{
 include '404.php'; // Página de Erro se a página não for econtrada (404)
 exit;
}
?>
<?php include_once ('header.php');?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alterei o código ficou assim:

 

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\/?$ ./index.php?page=$1 

 

Porém ainda não está fazendo o include na index, será q pode ser um problema no código PHP ?

 

Tenta este código:

 

<?php include_once ('header.php');?>
<?php
$url  = $_GET['page'];
$urlE = explode('/', $url);
/* Pega valores da URL */

$arquivos  = $urlE['0'];
$arquivosP = $urlE['1']; // Se querer passar dois parâmetros
/* Pega valores de Array para páginas */

$paginas = array('painel', 'cadastrar', 'contato', 'listar');
/* Array de páginas cadastradas */

// VALIDAÇÕES COM INCLUDES
if(!isset ($url)){
 include 'home.php'; // Faz o include da home.php se não existir parâmetro
}

if(isset($arquivos) && in_array($arquivos, $paginas)){	  
 include "$arquivos.php"; // Faz o include da página que digitar na URL

}else{
 include '404.php'; // Página de Erro se a página não for econtrada (404)
 exit;
}
?>
<?php include_once ('header.php');?>

 

D: ainda não está fazendo o include, o interessante é q o include do home ele faz porém das outras páginas não, mesmo assim vlw pela dica =/

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.