Ir ao conteúdo
  • Cadastre-se

URL amigável


Posts recomendados

     Boa noite, estou desenvolvendo um site e estou com dificuldades com a URL amigável.

 

Estrutura do site:

 

www

index.php esta index chama os arquivos de configuração, css e js do site

js pasta com os arquivos de javascript

css pasta com os arquivos css

projeto pasta que vai receber todas as páginas

 

O que acontece é o seguinte, se a pessoa souber que eu tenho a pasta projeto dentro do site e acessar www.meusite.com.br/projeto ele acessa o arquivo index.php desta pasta e ela abre sem os arquivos js, css etc...

 

Eu quero evitar essa acesso direto.

$url = $_GET['url'];
	$url = explode('/', $url);
	$url[0] = ($url[0] == NULL ? 'index' : $url[0]);
	
		if(file_exists('projeto/'.$url[0].'.php')){
			 require_once('projeto/'.$url[0].'.php');
		}elseif(file_exists('projeto/'.$url[0].'/'.$url[1].'.php')){
			 require_once('projeto/'.$url[0].'/'.$url[1].'.php');
		}else{
			 require_once('projeto/404.php');
		}

e o htaccess esta assim

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

Eu quero que quando ele digitar www.meusite.com.br/projeto que é a pasta, ele seja direcionado para index principal. Ou pode ser alguma condição que eu coloque na index da pasta projeto e quando ele tentar acessar digitando o nome da pasta seja direcionado para index principal.

Link para o comentário
Compartilhar em outros sites

Você pode trabalhar com sessions. Mesmo sabendo o caminho exato da pasta, o usuário só terá acesso conforme estipulado pela session e mesmo logado, pode até colocar mais um campo de "perfil", por exemplo e caso o usuário não seja administrador, não terá acesso a tal conteúdo.

Link para o comentário
Compartilhar em outros sites

Em 31/12/2016 às 16:05, Felipe Paz disse:

Você pode trabalhar com sessions. Mesmo sabendo o caminho exato da pasta, o usuário só terá acesso conforme estipulado pela session e mesmo logado, pode até colocar mais um campo de "perfil", por exemplo e caso o usuário não seja administrador, não terá acesso a tal conteúdo.

 

     Eu estou usando assim

if(!$_SESSION['nomeDaSessao']){
	echo '<script language="javascript">window.location.href="index.php"</script>';
}

     Funciona perfeitamente, porém, preciso colocar em todos os arquivos, isso que eu não queria fazer, deve ter alguma forma de fazer isso, estou pesquisando ainda.

Link para o comentário
Compartilhar em outros sites

<?php
$pagina = "index.php";
				
if(basename($_SERVER["PHP_SELF"]) == $pagina)
{
	//Morra com uma mensagem -> redirecionamento
	die("<script>alert('Sem permição de acesso !')</script>\n<script>window.location=('index.php')</script>");
}
?>

Coloque isso em todas as páginas que deseja " restringir "  o acesso. E mude o valor de `index.php` de acordo com o nome de sua página!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!