Ir para conteúdo

POWERED BY:

Arquivado

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

lightfox

problema em url [ .htacess ]

Recommended Posts

Ola, estou começando a criar um sisteminha mas meu conhecimento ainda não é amplo.

 

Estou com uma página de login (index.php), quando logado, eu acesso a principal.php.

 

nessa principal.php, tenho 2 divs, ESQUERDA E DIREITA. Na esquerda tenho um menu e na direita eu exibo o conteudo dos links do menu, sem sair da principal.php, se é que me entendem.

 

O codigo é resumidamente isso:

<div class="esquerda">
..codigo do menu..
</div>

<div class="direita">
<?php
       if(!isset($_GET['pg']))
		include("inicial.php");
	else {
			if(!file_exists($_GET['pg'].'.php'))
				include("404.php");
			else
				include($_GET['pg'].'.php');
		}
?>
</div>

 

Com esse código da direita + meu .htaccess, eu faço com o que as páginas na URL não precisem de .php e o conteúdo é exibido dentro da div DIREITA.

 

exemplo, tenho a pagina PERFIL.PHP

com a url: dominio.com/perfil

a pagina é exibida normalmente.

 

Agora o que eu quero é a seguinte, existem outros perfis, de outros usuarios cadastrados no sistema, mas minha URL está da seguinte forma:

 

dominio.com/perfis&id=$id_perfil

 

Meu .htaccess está assim:

 

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

 

ou seja: principal.php?pg=perfis.php&id=$id_perfil

 

Eu tentei fazer da seguinte forma: principal.php?pg=$1&id=$2 , só que ai as outras paginas que não tem o &id= não funcionam mais..

 

não entendo praticamente nada de .htacess, por isso estou aqui buscando a ajuda de vocês :)

 

Como eu poderia fazer meu link ficar assim: dominio.com/perfis/1 por exemplo ?

 

Obrigado aguardo resposta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

kara tudo que eu aprendi em URL's amigáveis foi graças a essa video aula do mx master http://www.mxmasters.com.br/2010/06/17/trabalhando-com-url-amigavel-com-php/

 

use esse codigo mesmo no seu .htacess

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

 

você tem dá um explode no $_GET['pg'] faça assim:

<div class="esquerda">
..codigo do menu..
</div>

<div class="direita">
<?php
       if(!isset($_GET['pg']))
                       include("inicial.php");
               else {
			$explodeGET = explode('/', $_GET['pg']);
                               if(!file_exists($explodeGET[0].'.php'))
                                       include("404.php");
                               else
                                       include($explodeGET[0].'.php');
                       }
?>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

kara tudo que eu aprendi em URL's amigáveis foi graças a essa video aula do mx master http://www.mxmasters.com.br/2010/06/17/trabalhando-com-url-amigavel-com-php/

 

use esse codigo mesmo no seu .htacess

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

 

você tem dá um explode no $_GET['pg'] faça assim:

<div class="esquerda">
..codigo do menu..
</div>

<div class="direita">
<?php
       if(!isset($_GET['pg']))
                       include("inicial.php");
               else {
			$explodeGET = explode('/', $_GET['pg']);
                               if(!file_exists($explodeGET[0].'.php'))
                                       include("404.php");
                               else
                                       include($explodeGET[0].'.php');
                       }
?>
</div>

 

Legal, vou dar uma olhada no vídeo.

Mas o que me passou ainda não resolveu.

 

Quero apenas poder utilizar dominio.com/perfil/1

estou conseguindo apenas dominio.com/perfil&id=1

lembrando que o perfil vem de principal.php?pg=perfil

 

não sei o que fazer. rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só criar uma regra no htaccess com expressões regulares.

 

Dê uma olhada aqui: http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/

 

eu tentei muita coisa já mas não estou conseguindo.. quando trato dessa forma:

 

RewriteRule ^(.*)/?(.*)$ principal.php?pg=$1&id=$2 [L]

 

seria para ficar: dominio.com/perfil/1

mas nunca dá certo, todas as outras param de funcionar. tais como:

 

dominio.com/inicial (que seria: principal.php?pg=incicial)

dominio.com/contato (que seria: principal.php?pg=contato)

dominio.com/exibir (que seria: principal.php?pg=exibir)

 

e eu quero que funcione esses e também o: (que seria: principal.php?pg=perfil&id=1)

 

tá dificil =\

 

quando eu utilizo: dominio.com/perfil&id=1 , funciona perfeitamente.. eu só queria deixar /perfil/1

rs

 

to achando que não é possivel mesmo fazer o que eu quero, alguém saberia? Rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você testou um URL rewrite manual e funcionou? Você tem certeza de que seu site está hospedado em server Linux e com Apache? No Apache o mud_rewrite também está configurado? Não custa nada verificar todas essas informações, pois muitas vezes o erro está no server e não no seu código.

 

Se você estiver testando em uma máquina Windows com WAMPs da vida é provável que realmente não funcione...

 

As referências que eu e os colegas passamos parecem ser boas.

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.