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 post
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 post
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 post
Compartilhar em outros sites

Tu pode criar um index.php e fazer uma chamada das outras páginas na própria index ficando a session somente neste página.

Link para o post
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 post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!