0

Como faço para o htaccess rodar RewriteRule em url dinâmica Com seção e SubSeção?

criado por Jádson em 18/05/2012 10:26pm
Galera eu tenho um problema mais não sei como resolve-lo!!

O menu Horizontal está funcionando perfeitamente, mas o vertical não!! Ele fica acrescentando um "home" a mais a cada link clicado no menu!!

Abaixo estão todos os scripts necessários...


Query string:
<?php
$pagina
= isset($_GET['pagina']) ? strip_tags(trim($_GET['pagina'])) : '';
$conteudo
= isset($_GET['conteudo']) ? strip_tags(trim($_GET['conteudo'])) : '';

if ($pagina == "$pagina" && !$conteudo) {
$Pg
= 'arquivos/'.$pagina.'.php';
}

elseif
($pagina == "$pagina" && $conteudo == "$conteudo") {
$SubPg
= 'conteudo/'.$conteudo.'.php';
}
?>


Htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z,0-9,A-Z]+)\/?$ ?pagina=$1
RewriteRule ^([a-z,0-9,A-Z]+)\/([a-z,0-9,A-Z]+)\/?$ ?pagina=$1&conteudo=$2


Menu Horizontal:
    <td><a href="home">Home</a></td>
   
<td><a href="perfil">Perfil</a></td>
   
<td><a href="fotos">Fotos</a></td>
   
<td><a href="videos">Videos</a></td>
   
<td><a href="faleconosco">Fale Conosco</a></td>

Loader menu Horizontal na page index.php
<td id="loader_menu_horizontal">
       
<?php
       
if( (isset($Pg)) and (file_exists($Pg)) ) {
        include
($Pg);
       
} else {
        include
("arquivos/home.php");
       
}
       
?>
</td>

Menu Vertical:
<tr>
   
<td id="menu_vertical"><a href="home/esporte">Esporte</a></td>
 
</tr>
 
<tr>
   
<td id="menu_vertical"><a href="home/cultura">Cultura</a></td>
 
</tr>
 
<tr>
   
<td id="menu_vertical"><a href="home/natureza">Natureza</a></td>
 
</tr>
 
<tr>
   
<td id="menu_vertical"><a href="home/religiao">Religião</a></td>
 
</tr>
 
<tr>
   
<td id="menu_vertical"><a href="home/politica">Política</a></td>
 
</tr>

Loader menu Vertical na page Home.php
<td id="loader_menu_vertical">
       
<?php
       
if( (isset($SubPg)) and (file_exists($SubPg)) ) {
        include
($SubPg);
       
} else {
        include
("conteudo/inicio.php");
       
}
       
?>
</td>


Exemplo deste script funcionado online aqui: http://exemplos.orgfree.com/
Caso queiram ver como é o defeito cliquem em mais de um link do menu vertical!!

Grato desde já pela ajuda dos senhores!!!

Lista de Respostas:

+1
22/05/2012 6:25pm
(~13 anos atrás)
Marcos Regis respondeu:
Inicie seus links com /home e não somente com home.

sem a barra no inicio o navegador entende que voce esta tentando ir para um subdiretorio

0
22/05/2012 8:27pm
(~13 anos atrás)
Jádson respondeu:
Muito obrigado "Marcos Regis", esse pequeno detalhe me ajudou muito!!

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)