Clicky

Hospedado por Limestone Networks

Jump to content
  • Sign Up

Sign in to follow this  
PedroFelipe

URLs amigáveis em seu site com .htaccess

Recommended Posts

Hoje em dia é muito comum o uso de scripts que rodam no servidor (server-side) para gerar conteúdo dinâmico em páginas web.

Isto é muito interessante, mas gera um problema: URLs grandes ou complicadas demais, difíceis de memorizar e sem significado, que podem até mesmo dificultar a indexação do site por mecanismos de busca.

Retirado de brunotorres.net

Lembro que quando criei meu site, os códigos para criar URLs amigáveis que encontrei na internet não serviam. (O motivo não sei, talvez o servidor fosse chato mesmo :mad:)

Segue o único código que me serviu:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^index/?$ ./index.php

</IfModule>

Em RewriteRule, podem ver que a index.php poderá ser acessada por /index.

Para adicionar mais páginas, copie a linha e faça as modificações necessárias.

Share this post


Link to post
Share on other sites

Não é necessária toda essa trabalheira PedroFelipe,

Eu fiz da seguinte maneira:

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteRule ^/?([a-zA-Z_-]+)/?$ index.php?pagina=$1

Ou seja, toda requisição irá redirecionar para a pagina, por exemplo www.meusite.com/pagina/ , irá reescrever para index.php?pagina=pagina mantendo a url. Lembrando que aí você tem que criar uma função para buscar a pagina e incluir.

Para evitar conteudo duplicado eu fiz uma regra para redirecionar www.meusite.com/pagina/ para www.meusite.com/pagina (Além de evitar que os motores de busca reconheçam como um diretório, que seria um prejuízo no SEO)


BrasilHOSP | Hospedagem de Sites, Revenda de Hospedagem, Servidores Virtuais e Streaming! - http://www.brasilhosp.com.br/ / http://www.rvcore.com/

NetGerencia | Gerenciamento de Servidores, Cloud Server Gerenciado. - http://www.netgerencia.com.br/

Share this post


Link to post
Share on other sites

Não utilizo index.php?pagina=id. São páginas .php com um include para header e footer :P

Essa dica de redirecionar /pagina/ para /pagina, como faz?

Share this post


Link to post
Share on other sites

Apesar do tópico ser velho venho aqui lhe dar os parabéns pois isso dai realmente quebrou meu galho e acredito que de muitos outros daqui do fórum também.

Thanks for sharing !

Share this post


Link to post
Share on other sites

Eu faço assim e funciona perfeito e fica fácil de entender

#URL Amigável

RewriteEngine on

RewriteRule ^cursos/?$ cursos.php [NC,L]

RewriteRule ^links/?$ links.php [NC,L]

RewriteRule ^sobre-nos/?$ sobre-nos.php [NC,L]

RewriteRule ^contato/?$ contato.php [NC,L]

RewriteRule ^enviar_email/?$ enviar_email.php [NC,L]

RewriteRule ^envia/?$ envia_comentario.php [NC,L]

Share this post


Link to post
Share on other sites

Eu usava no meu WHMCS, ficava legalsinho...


 Webin Serviços de internet Ltda.

 Revendas em Servidores USA e BR com CloudLinux, WHMCS grátis, Construtor de sites, DNS Personalizados...

 WebinHost (Hospedagem) l  WebinRevenda (Revendas) l  WebinIDC (Servidores Dedicados e VPS) l  EvoHost (Certificados SSL) I

Share this post


Link to post
Share on other sites
Não utilizo index.php?pagina=id. São páginas .php com um include para header e footer :P

Essa dica de redirecionar /pagina/ para /pagina, como faz?

Simples assim:

RedirectMatch 301 ^/sobre-nos/ /sobre-nos


BrasilHOSP | Hospedagem de Sites, Revenda de Hospedagem, Servidores Virtuais e Streaming! - http://www.brasilhosp.com.br/ / http://www.rvcore.com/

NetGerencia | Gerenciamento de Servidores, Cloud Server Gerenciado. - http://www.netgerencia.com.br/

Share this post


Link to post
Share on other sites

Amigos, eu uso um simples porém muito funcional

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteCond %{SCRIPT_FILENAME} !(index.php|index.htm|index.html)

RewriteRule ^([A-Za-z0-9_-]*)$ $1.php

Vou explicar, qualquer arquivo, php, html, htm o .htacess manipula e deixa ele sem a extensao final, não precisa de mais nada.

seusite.com/index.php vai ficar seusite.com/index muito bom, experimentem.

abraço.

Edited by Dermival Souza
errinho básico

Host Landia - Hospedando você para o mundo!

Hospedagem | Revenda | Streaming | Registro de Domínios

Share this post


Link to post
Share on other sites
RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteCond %{SCRIPT_FILENAME} !(index.php|index.htm|index.html)

RewriteRule ^([A-Za-z0-9_-]*)$ $1.php

Funcionou direitinho usei no WHMCS e no meu site ficou perfeito.

Obrigado

Share this post


Link to post
Share on other sites
Funcionou direitinho usei no WHMCS e no meu site ficou perfeito.

Obrigado

Sim, a dica é excelente


 Webin Serviços de internet Ltda.

 Revendas em Servidores USA e BR com CloudLinux, WHMCS grátis, Construtor de sites, DNS Personalizados...

 WebinHost (Hospedagem) l  WebinRevenda (Revendas) l  GrupoWebin

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.



×
×
  • Create New...