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
(~6 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
(~6 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.)