Ir para conteúdo

POWERED BY:

Arquivado

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

Ridley Ramos

Url Amigável Exibir Pastas

Recommended Posts

Boas.

 

 

Meu site possui uma pasta na qual possui arquivos que redireciono meu index para eles atravez de uma variavel. Porém quero eliminar essa variavel e listar minha url como se fossem pastas. Segue a minha variavel e .htaccess.

 

essa variavel inclui o arquivo dentro da pasta após o index.php?s= ou ?s= somente.

 <?php
      $includeDir = ".".DIRECTORY_SEPARATOR."pages".DIRECTORY_SEPARATOR;
      $includeDefault = $includeDir."home.php";
      
      if(isset($_GET['s']) && !empty($_GET['s']))
      {
      
        $_GET['s'] = str_replace("\0", '', $_GET['s']);
        $includeFile = basename(realpath($includeDir.$_GET['s'].".php"));
        $includePath = $includeDir.$includeFile;
        
        if(!empty($includeFile) && file_exists($includePath)) 
        {
          include($includePath);
        }
        else 
        {
        include($includeDefault);
        }

      } 
      else 
      {
        include($includeDefault);
      }
	  
	  ?>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ ?s=$1

essa regra acessa direto o meu arquivo quando digito somente o nome do msm sem a extensão.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então vc já fez certo.

Agora vá nos teus arquivos .html, e troque o href das tags <a>

 

<a href="?s=arquivo">
por
<a href="arquivo">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz isso mais gera um conflito quando vou do link1 para link2

Exemplo

 

clico um link qualquer

dominio.com.br/registro

 

quando clico em outro

 

dominio.com.br/registro?s=login

 

acontece isso..

Compartilhar este post


Link para o post
Compartilhar em outros sites

? se aparece o ?s= então é pq em algum lugar vc não trocou o html.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sim, tinha me esquecido de editar as ações nos formularios. :closedeyes:

 

Muito obrigado pela ajuda. :yes:

 

Como faço para bloquiar a entrada pelo url antigo

 

tipo aceitar só

 

registro e não ?s=registro

 

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai vc pode fazer um redirect

 

RewriteRule ^?s=(.*)$ /$1 [L,QSA]

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu pagina de erro. 500 - INTERNAL SERVER ERROR


reparei que meu site acabou abrindo uma brecha de segurança permitindo assim ataques através de scritps sql externos

 

quando acesso meudomiioo.com.br/www.scriptexteno.com

 

carrega normalmente isso indica vulnerabilidade?

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.