Ir para conteúdo

Arquivado

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

Weslei_Ramos

urls amigáveis

Recommended Posts

Bem sou novo em php e eu estava fazendo página de cadastros ela funciona perfeitamente, só que tenho um problema ao usar urls amigáveis para acessar o perfil de tal pessoa se no nome dela tiver pontos.

 

.htaccess

RewriteEngine on

RewriteRule ^([a-zA-Z0-9]+)$ ./perfil.php?perfil=$1 [L] 

Ele retorna isso.

Not Found

The requested URL /perfil/weslei.2 was not found on this server. 

"ele esta achando" que é uma página porem é uma string.

 

Existe alguma maneira de acessar o perfil se o nome dela conter pontos ?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

é que sua ER não contempla ponto, apenas letras e números. Faça assim

^([a-zA-Z0-9\.]+)$

 

Coloquei igual a sua e deu isso.

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

--

RewriteEngine on

RewriteRule ^([a-zA-Z0-9\.]+)$ ./perfil.php?perfil=$1 [L]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Amigo não sei se vou lhe ajudar, pois também sou novato no PHP, mas tenho algo parecido com o que você deseja.

Tente usar esse .htaccess

	RewriteEngine on
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME}\.php -f
	RewriteRule ^(.*)$ $1.php
	RewriteCond %{REQUEST_FILENAME}\.html -f
	RewriteRule ^(.*)$ $1.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tirei a barra e não funcionou teve o mesmo problema.

 

Tente com "." em vez de "\.". Dependendo do padrão da ER, não é necessário escapar o ponto dentro de listas

 

 

Obrigado pela ajuda mais esse não é o problema, eu quero remover o "perfil.php?perfil=usuario" do link, para remover o ".php" eu já uso um igual ao seu.

 

 

Olá,

 

Amigo não sei se vou lhe ajudar, pois também sou novato no PHP, mas tenho algo parecido com o que você deseja.

Tente usar esse .htaccess

	RewriteEngine on
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME}\.php -f
	RewriteRule ^(.*)$ $1.php
	RewriteCond %{REQUEST_FILENAME}\.html -f
	RewriteRule ^(.*)$ $1.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peço desculpas por postar 2 vezes seguidas mas consegui.

Para quem um dia precisar é

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([a-z0-9_\.-]+)/? perfil.php?perfil=$1 [L,NC]

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.