Clicky

Ir para conteúdo
PedroFelipe

URLs amigáveis em seu site com .htaccess

Posts Recomendados

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.

Compartilhar este post


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

Compartilhar este post


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

Compartilhar este post


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

Compartilhar este post


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

Compartilhar este post


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

Compartilhar este post


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

Editado por Dermival Souza
errinho básico

Compartilhar este post


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

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.



O Portal do Host

Dicas para sua empresa de hospedagem. Artigos, notícias, tutoriais e os aspectos da indústria de hospedagem.

Limestone Networks

A LSN tem sido parceira e patrocinadora do PDH, fornecendo uma plataforma segura e confiável.

Cloud - Servidores decicados - Co-location
×