Ir para conteúdo

Arquivado

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

Aender

Url amigável

Recommended Posts

Boa noite pessoal .Estou com uma dúvida relativa a url amigável sei que existem vários posts aqui sobre isso, mas não consegui encontrar a resposta para o meu problema em nenhum deles.Bom , no meu index.php tenho um header com links, que chamam as páginas, o código do index já está pronto mas não sei como colocar nos links para chamar as páginas, antes eu estava usando QueryString e estava chamando assim

 < a href="?pagina=home"> HOME </a> 

url completo de HOME era

 http://localhost/site/index.php?pagina=home

além disso no header tem um link que chama uma página que possui outras sub páginas dessa forma

http://localhost/site/index.php?pagina=projetos&local=01 

.É isso, não sei como vai ficar o código nos links,usando url amigável , em especial no link que possui uma sub página.

Meu htaccess:

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

Meu index.php

<?php
// A página que será carregada, por padrão: home
$page = "home";
if (isset($_GET['pag'])) {
   $page = $_GET['pag'];
}
// o cabeçalho (header), com banner e menu, é incluído uma única vez
include "topo.php";

// Aqui carregasse o "meio" da página de acordo com a URL
switch ($page) {

   // carrega um dos arquivos home.php, sobre.php ou contato.php, de acordo com a requisição
   //Essas são as páginas que vou abrir no meio:
   case 'home':
   case 'projetos':       
   case 'coordenacao':
   case 'contato':
   include "{$page}.php";  //Agora entendi o esquema
   break;
   default:
   include "404.php"; // página de erro "404 - Página não encontrada"
   break;
}
// o rodapé (footer), também uma única vez
include "rodape.php";

Link chamando a página projetos.php :

 <a href="?pagina=projetos" ><strong>PROJETOS </strong></a>

Link chamando uma sub página de projetos.

<a href="index.php?pagina=projetos&local=01" >PAgina 1 de Projetos </a>

Valeu pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passe 2 parâmetros pela URL, assim:

RewriteRule ^(.*)/([0-9]*)$ index.php?pag=$1&local=$2

Valeu Gabriel :thumbsup: , então, mas nos links vai ficar como ? igual ao QueryString ?

 <a href="index.php?pagina=projetos&local=01" >Pagina 1 de Projetos </a> 

além disso, essa regra que você adicionou foi só para o caso do link que possui sub páginas né, então eu vou ter que add um regra adicional ficando assim :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1
RewriteRule ^(.*)/([0-9]*)$ index.php?pag=$1&local=$2

Valeu.

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.