Gerenciamento de URLs – Criando URLs amigáveis

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.

Vamos aprender como criar URLs amigáveis, indexáveis e que resumam, de alguma forma, o recurso que elas descrevem.

Introdução

É comum vermos URLs do tipo:
index.php?section=artigos&data=09-08-2004
ou
index.php?s=web&p=1
ou piores que isso, como:
/cgi-bin/index.cgi?id=7288731803928617293&page=6

Os exemplos acima são fictícios mas, com certeza você já se deparou com URLs bem parecidas com essas, inclusive em sites muito conhecidos.

Qual o problema dessas URLs?

A princípio você pode pensar que não há problema algum com essas URLs. Mas pense um segundo. Você consegue decorar uma URL desse tipo? Não seria muito melhor que fosse algo do tipo:
www.site.com/artigos/09/08/2004
ou
www.site.com/web/1

Além do problema da complexidade, essas URLs geram outros problemas:

  • Alguns mecanismos de busca podem deixar de indexar estas páginas, por causa dos caracteres ‘?’ e ‘&’
  • A tecnologia usada na construção do site está sendo exposta
  • Se você resolver mudar a tecnologia do seu site (php para asp, por exemplo), todas as URLs terão que ser mudadas

Expor a tecnologia usada para fazer um site pode ser um problema de segurança e, hoje em dia, qualquer cuidado com segurança, mesmo que pequeno, é importante.

E, além disso, com a mudança da tecnologia usada, todos os links e bookmarks que existam para o seu site serão quebrados, e isso não é nem um pouco interessante.

O que fazer então?

A solução que vou apresentar serve para os usuários do servidor web apache.

É necessário que esteja habilitado no servidor o módulo mod_rewrite e que seja possível o uso de arquivos htaccess.

A solução é simples: mapear as URLs reais para URLs “virtuais”, mais fáceis de compreender e indexar, e independentes da tecnologia utilizada.

É necessário um pouco de conhecimento de expressões regulares.

O que é o mod_rewrite

mod_rewrite é um módulo do apache que realiza a reescrita transparente de URLs usando expressões regulares.

É como se fosse um redirecionamento, só que o usuário não fica sabendo que a página foi reescrita, já que o endereço na barra de endereços do browser não muda e nenhum cabeçalho HTTP 3xx é enviado.

Mãos a obra

O primeiro passo é criar um arquivo htaccess no diretório raiz do seu site (DocumentRoot e acrescentar a linha:
RewriteEngine On
Esta linha habilita o uso do mod_rewrite no seu site.

Agora vamos ? reescrita da URL. Vamos utilizar os exemplos acima. São exemplos simples, mas meu intuito é mostrar o funcionamento da técnica. Você pode usar a sua criatividade para fazer o que quiser e o que for necessário para o seu caso.

Primeiro exemplo: index.php?s=web&p=1

Analisando esta URL podemos perceber que temos duas variáveis (‘s’ e ‘p’), provavelmente referentes a seção e página, respectivamente.

Vamos transformá-la em: /web/1

A regra ficaria assim:
RewriteRule ^(.+)\/?([0-9]*)\/?$ /index.php?s=$1&p=$2

Vamos entender a linha acima:
RewriteRule: define o início de uma regra de reescrita.

^(.+)\/?([0-9]*)\/?$: a url “virtual”, ou seja, a url que será usada nos links para esta página. Para que entende um pouco de expressões regulares, esta expressão é bem simples de entender, vamos dissecá-la:
(.+): significa um ou mais caracteres (.). O significado dos parêntesis vai ser explicado mais adiante.
\/?: zero ou uma barra (/). A contrabarra (\) serve para “escapar” o caractere /, informando que ele deve ser interpretado literalmente, e não como um metacaractere.

([0-9])*: qualquer quantidade de dígitos (números), ou seja, zero ou mais.
/index.php?s=$1&p=$2: esta é a URL real, ou seja, a url que vai estar sendo acessada por meio do mod_rewrite.
As expressões ‘$1′ e ‘$2′ significam o primeiro e segundo conjunto de caracteres agrupados por parênteses na expressão da esquerda. Ou seja, é guardada uma referência para esses grupos de caracteres para que você possa usá-los.

Exemplos do resultado desta regra:

/web/1 ou /web/1/ = /index.php?s=web&p=1
/outrasecao/5 ou /outrasecao/5/ = /index.php?s=outrasecao&p=5
/web ou /web/ = index.php?s=web&p=

Vamos a mais um exemplo:
RewriteRule ^artigos\/?([0-9]+)\/([0-9]+)\/([0-9]+)\/?$ index.php?section=artigos&data=$1-$2-$3
(Perceba que a linha pode estar quebrada para caber no espaço, mas trata-se de uma linha só, sem quebras).

Assim, você poderia acessar a URL index.php?section=artigos&data=09-08-2004 pela URL “virtual” artigos/09/08/2004, bem mais amigável do que a primeira.

Não apenas páginas dinâmicas podem ser reescritas por meio do mod_rewrite. Conteúdo estático também.

Um exemplo:
www.site.com/noticias/09-08-2004.html
poderia ser reescrita para
www.site.com/noticias/09/08/2004

usando a regra
RewriteRule ^noticias\/?([0-9]+)\/([0-9]+)\/([0-9]+)\/?$ /noticias/$1-$2-$3

Conclusão

O intuito deste artigo foi apresentar o mod_rewrite e mostrar como criar URLs mais amigáveis, tanto para o usuário quanto para os mecanismos de busca. Você pode fazer praticamente qualquer mapeamento de URLs utilizando o mod_rewrite, o que você precisa é identificar um padrão nas URLs do seu site e criar as regras de reescrita. O limite é o da sua criatividade.

Alguns links para artigos semelhantes e recursos interessantes que podem ajudar bastante:

76 Comentários sobre “Gerenciamento de URLs – Criando URLs amigáveis”

Faça um comentário

Parabéns! um ótimo artigo vai me ajudar muito.

Existe algo parecido para java?

Onde posso encontrar um artigo tão simples e instrutivo (como este) para java?

Obrigado,

Daniel


Ótimo artigo, gostei tanto que tentei implementar, mas não esta funfando, se vc ou alguem puder me dar uma ajuda, preciso fazer com que as urls catalogo/138,2503.php sejam chamadas pela url catalogo/138_2503.php, fiz assim: RewriteRule ^catalogo/?([0-9]+)/([0-9]+)/?$ /catalogo/$1_$2

mas não está acontecendo nada, tem como fazer algum teste com o mod_rewrite?


#3 | Thiago Montini

Bruno, parabéns pelo artigo de URLs Amigáveis, estou indicando ele para mta gente… pena que no IIS não temos essa opção pois eu estou desenvolvendo em asp.NET… mas quem sabe um dia né?

Parabéns pelo site tb!

[]´s

Thiago Montini


#4 | Cristofer

Desculpe a ignorância mas não entendi onde vai escrito a regra… (RewriteRule ^noticias/?([0-9]+)/([0-9]+)/([0-9]+)/?$ /noticias/$1-$2-$3). Troca-se pelo link??


Num arquivo .htaccess na pasta public_html tem:

RewriteEngine on

RewriteRule ^/products$ /teste/index.php

Quando entrar no link http://www.kabloc.com.br/products ele deve mostrar o conteúdo de http://www.kabloc.com.br/teste/index.php

POR QUE NÃO FUNCIONA ????


Nossa Bruno… veio em uma hora certa seu artigo. Ajudou muito.

Abraços

Leonardo


#7 | Henrique Vicente

Aqui em baixo vai o texto que pode ser encontrado em http://www.brunotorres.net/web/preco-erro e eu estava procurando e achei estranho ter sumido daqui.. o que acontece é que Bruno Torres não tinha colocado aqui…

" A propósito, falando em google, abandonei parcialmente o mod_rewrite como gerador de URLs em favor de um script em PHP. Pretendo em breve escrever algo aqui falando sobre este processo. Para aqueles que se sentem confortáveis lendo textos na língua de shakespeare, a técnica é bem explicada no artigo "How to succeed With URLs", de Till Quack para o site A List Apart.

As vantagens? Maior facilidade de lidar com possíveis problemas de segurança (Cross site scripting e SQL Injection, por exemplo) e melhor gerenciamento de páginas de erro. Aguardem! "

O link para o artigo é http://www.alistapart.com/articles/succeed/


[...] Se você não conhece o mod_rewrite, é melhor dar um jeito nisso. Eu já escrevi dois textos sobre o assunto que podem lhe interessar. [...]


#9 | Mike

Boas!
Gostaria de saber por que algumas vezes o CSS de minha página é ignorado quando o mod_rewrite entra em acão. Mais precisamente quando ponho um form pra funcionar desse jeito:

no .htacces tenho:
RewriteRule ^contact/ok$ /index.php?path=contact&sent=ok

e, finalmente no processador do form tenho:
if((isset($_GET['sent']))&&($_GET['sent']==”ok”)){
$to=”MEUMAIL@DUH.COM”;
$subject=”Rancor – ” . $_POST['why'];
$message=$_POST['stuff'];
$headers=’From: ‘ . $_POST['who'] . “\r\n” .
‘Reply-To: ‘ . $_POST['email'] . “\r\n” .
‘X-Mailer: PHP/’ . phpversion();

if(mail($to, $subject, $message, $headers)) echo “alert(‘Mensagem enviada com sucesso’)”;
}

será que ficou claro?

desde já obrigado.


Olá a todos,

Estou testando a notícia num Apache 2.2 rodando em Windows.

Configurei o httpd.conf corretamente e reiniciei o serviço.

Mas quando tento:
http://localhost/teste/20/

Ele insiste em considerar que “/teste/20″ são diretórios, retornando um erro 404.

O que pode ser?


#11 | Marcus

Olá,

VI seu artigo bruno gostei muito estou com um pequeno problema.

RewriteRule ^(.+)\/?([0-9]*)\/?([0-9]+)\/?$ /mostrar.php?categoria=$1&pagina=$2

quandi o usuário digita meusite.com/downloads/2 , fica normal mas quanod coloca meusite.com/downloads ou meusite.com/downloads/ não processa pode ajudar com essa dúvida.

Cordialmente,
Marcus


Marcos acho que eh devido ao seu codigo ter 2 strings e na url meusite.com/downloads/ ele so “geta” uma string: /mostrar.php?categoria=downloads

saca? e no fim das contas acaba ficando
/mostrar.php?categoria=downloads&pagina=

o string em “pagina” esta sem nenhuma, logo gerando um erro =/
acho que eh esse o problema


cara, seguinte, quando eu coloco os comandos o .htaccess e mando executar no servidor da erro 505, erro interno!
o quer será que pode ser?
se voce puder me ajudar agradeço!
mto obrigado!


#14 | robson

Não sei pra que área de comentário.
O cara não responde…


#15 | JD

Talvez pq é área de comentário e não de questionário…


#16 | Cristiano Ribeiro

Senhores, boa noite.

Gostaria de saber da possibilidade de rodar aplicações asp.net em servidores apache.

Atualmente, a aplicação roda em servidor windows 2003 server, porém, existe a possibilidade desta plataforma ser mudada para Mac OS, rodando servidor Apache… Isso é possível?

Obrigado pela atenção e parabenizo pelo excelente material

Um grande abraço,

Cristiano


#17 | Nei

Estou com uma dúvida, já utilizo o mod_rewrite para alguams finalidades, mas gostaria de saber se existe a possibilidade de bloquear url quando possuir uma palavra especifica, ex:

se tentarem acessar meu site com a palavra sexo

http://www.meusite.com.br/sexo/teste.php
http://www.meusite.com.br/sexo.php
http://www.meusite.com.br/sexop

eu queria redirecionar para a 404.shtml saberia me dizer a expressão??

Obrigado


#18 | Paulo

queria converter um url deste tipo:
/index.php?var1=valor1&var2=valor2 … varN=valorN
neste:
/index/var1/valor1/var2/valor2/… varN/valorN/


esta seria a solução para quem tanto quer descobrir uma forma prática de criar um blog ou fotolog multi usuario tipo:

http://www.dominio.com/seunome

????


Parabens pela dica!

O meu problema é que, antigamente, eu usava o cjb.net como domínio do meu site. Configurando o DNS, ele funcionava como um domínio normal.

Eu mudei de hospedagem e troquei de dominio. Quando tentei configurar o DNS no Dreamhost, ele não aceitou o dominio do cjb.net e a solução foi criar uma página de redirecionamento.

O problema é me livrar do iframe do cjb.net. Como fazer isso?


[...] nos comunicar, prova disso está na web mais precisamente nos sites, o google escolheu que devemos criar url’s amigáveis para melhorar a navegação entre outros fatores de quebra o gigante escolheu que devemos melhorar [...]


[...] artigos do Bruno Torres Gerenciamento de URLs – Criando URLs amigáveis e URLs amigáveis – esclarecendo dúvidas falam mais sobre essa técnica, mas servem apenas para [...]


[...] segundo conjunto de caracteres agrupados por parênteses na expressão da esquerda. Acesse o artigo Gerenciamento de URLs – Criando URLs amigáveis do Bruno Torres para maiores [...]


[...] você não sabe o que é o mod_rewrite vê esse artigo do Bruno Torres Criando URLs amigáveis. Basicamente com o Módulo Rewrite do Apache você transforma [...]


[...] Criando URLs amigveis [brunotorres] – Artigo sempre atual, sobre URLS amigveis. [...]


Um artigo muito interessante sobre URLs amigáveis é esse aí abaixo. Da SEOmoz, agência de SEO em Seattle.

http://www.seomoz.org/blog/11-best-practices-for-urls

Vale a pena.


#27 | Leandro José Biesek

olá a todos e parabéns Bruno, seu tutorial foi de grande ajuda, mas tenho uma pequena duvida: no arquivo .htaccess pode haver mais de uma linha de Rewrite Rule?

Grato pela atenção.

Atenciosamente,
Leandro


#28 | Rick

Sem dúvidas, o melhor que eu já lí sobre o modo Rewrite…

O artigo ficou ótimo, e de fácil compreensão…
Fico muito grato.
Estava procurando isso há um bom tempo.


#29 | Diogo Cata Preta

Você sabe me falar se isso funciona em um servidor windows???
Tentei aqui mais nao conseguir colocar pra funfar…


Interessante o tema.
Pouco sabia sobre a grande importância do arquivo .hitacces, só notei isso quando precisei dele.
Recentemente estava usando usando urls não amigáveis.:
http://www.rg1.com.br/index.php?c=85 pouco entendo do assunto mas consegui acertar a url pelo menos para http://www.rg1.com.br/inform-tica-internet/ .Pode não ser o caso de muitos mas.. após implementar o .hitaccess os subdomínios ( xxx.rg1.com.br ) ficaram inacessíveis. Simplesmente coloquei o mesmo arquivo .hitaccess nos outros diretórios (subdominios xxx).

Vejam ai o .hitacces referente a http://www.rg1.com.br com algumas comparações pode tirar duvida de alguns.
================================

RewriteEngine on

RewriteRule ^(.*)/$ index.php?category=$1 [QSA,L]
RewriteRule ^(.*)/index([0-9]+).html$ index.php?category=$1&page=$2 [QSA,L]

RewriteRule ^new-links.html$ new-links.php [QSA,L]
RewriteRule ^new-links([0-9]+).html$ new-links.php?page=$1 [QSA,L]

RewriteRule ^top-links.html$ top-links.php [QSA,L]
RewriteRule ^top-links([0-9]+).html$ top-links.php?page=$1 [QSA,L]

RewriteRule ^popular-links.html$ popular-links.php [QSA,L]
RewriteRule ^popular-links([0-9]+).html$ popular-links.php?page=$1 [QSA,L]

RewriteRule ^editor-links/index.html$ editor-links.php [QSA,L]
RewriteRule ^editor-links/index([0-9]+).html$ editor-links.php?page=$1 [QSA,L]

RewriteRule ^(.*)/(.*)-l([0-9]+).html$ view-link.php?cat=$1&title=$2&id=$3 [QSA,L]


[...] vezes, principalmente quando estamos trabalhando para deixar nossas url’s amigáveis (aqui outros exemplos de friendly url) nos deparamos com alguns links nossos gerados a partir de [...]


Gostaria de adicionar vídeos caseiros em meu orkut


[...] vamos ? reescrita da URL. Vamos utilizar os exemplos acima. São exemplos simples, mas meu intuito é mostrar o funcionamento da técnica. Você pode usar a [...]


isso e bom que ajuda as….


queria adicionar um video no youtube e no meu orkut,como faço?


MUUUUUIIITTTO Obrigado!


[...] Esta semana aprendi algumas coisas sobre o .htaccess (pois é, não sabia, mas tudo bem não sou programador), pois estava estudando sobre URL amigáveis. [...]


[...] quem quer ler mais sobre o assunto, Pode ver aqui e aqui. > Sem Avaliações. Vota ai vai!  Loading …    4 [...]


Gostaria de entender melhor como seria no caso do meu site ter:

meusite.com.br/home.php
meusite.com.br/contato.php?status=ok

e eu quero que as urls sejam chamadas e link como:

meusite.com.br/home
meusite.com.br/contato/ok

e por ai vai, queria saber como fazer isso de uma forma simples.. mesmo que seja colocando item por item na lista.

Obrigado.


Consegui, deu certo usando assim:

RewriteEngine On
RewriteRule ^\/?$ /home.php
RewriteRule ^empresa\/?$ /empresa.php
RewriteRule ^importacao\/?$ /importacao.php
RewriteRule ^exportacao\/?$ /exportacao.php
RewriteRule ^contato\/?$ /contato.php
RewriteRule ^contato\/?([a-z]*)\/?$ /contato.php?status=$1

o único problema agora é que quando digito:
http://www.ativainternacional.com.br/contato/ok
http://www.ativainternacional.com.br/contato/erro
funciona, mas pagina contato.php perde a referencia de url do css e das imagens.. como corrigir isso sem ter que alterar o site todo pra url absoluta?

Obrigado.


Bruno, o redirecionamento 302, tem alguma desvantagem para o 301, pelo fato de ser temporário contra permanente?

Grato



Muito bom tutorial, eu tive problemas somente com o redirecionamento para o arquivo pois botando /arquivo.php pelo menos do jeito que eu configurei o meu apache ele cai na raiz do servidor e como os sites são pastas separadas dentro do localhost ele não encontrava o arquivo então eu simplesmente removi a / do final para ficar na pasta do trabalho em questão.

Existe como arrumar este problema!?

Outra coisa, da minha solução aparentemente ele não está carregando estilos e JavaScripts no documento. Acredito que seja pelo browser acreditar que eu estou acessando uma ‘pasta’ diferente, é isso mesmo?

há alguma maneira de concertar sem ter que alterar o endereço relativo dos css e scripts?

Obrigado desde já! :)


Quando eu implementei no meu site as URL amigáveis, tive o mesmo problema que muita gente está tendo de perder as referencias ao css e imagens.
Mas felizmente a solução é bem simples, no meu caso as imagens e css estavam dessa maneira:
href=”./css/site.css”
mudei para:
href=”/css/site.css”
Ou seja só retirar o . do começo da URL já resolveu o problema, agora está funcionando perfeitamente.


[...] conjunto de caracteres agrupados por parênteses na expressão da esquerda. Acesse o artigo Gerenciamento de URLs – Criando URLs amigáveis do Bruno Torres para maiores [...]


#46 | Alê

Bom post! Obrigado. Mas aqui… não rolou.

Tenho hoje uma URL:
http://meusite.com/perfil/?login=ale
Funciona.

Tentei implementar um mod_rewrite no meu apache (linux) e deu erro. No .htaccess tentei:

RewriteEngine On
RewriteRule ^perfil\/?([0-9]*)\/?$ /perfil/index.php?login=$1

esperava conseguir algo como:
http://meusite.com/perfil/ale/

Onde está meu erro?
Abs


Olá, por favor me tirem uma dúvida, se eu quiser criar uma regra igual a: http://www.site.com.br/artigo/nome-do-artigo neste caso o “nome-do-artigo” tem que ser unico na tabela do banco de dados ? pq, aparentemente, não é passad nenhum id do artigo.

Obrigado.


Muito interessante, como aliás, outros artigos deste site.
Parabéns!
José Rezende
http://www.fazendapassaredo.com


Galera voces conseguem transforma minha url tipo

produto?=152655 por produto-camera-digital ?

Pegar o titulo do site ” camerda digital ” e transformar em url ?

Me mandem por email – leandrovd@gmal.com

Abraços


Muito massa esse artigo, as URLS amigaveis são formas de facilitar a vidade usuarios….
falow

http://www.soletrasdemusicas.com.br


[...] de design, usabilidade, SEO e padrões web para obter sucesso no seu projeto. Nem vou falar que URL’s amigáveis, qualidade de acesso, conteúdo bem redigido e HTML impecável ajudam ainda mais. Isso é coisa que [...]


[...] muito nos meus serviços de hoje é o Bruno Torres, um carinha que explicou para o mundo o que eram urls amigáveis e como fazer isso através do [...]


[...] produzido todo em tabelas com aplicações infelizes de Javascript. Ou invés de trabalhar com URLs amigáveis para facilitar a navegação e indexação de conteúdo como titinhas, downloads e o perfil dos [...]


Olá gostaria de saber , quando faço um select pela url!
a reescrita de url faz alguma diferença?

como faço o request da variavel?

se alguem puder me ajudar valeu!


[...] vamos ? reescrita da URL. Vamos utilizar os exemplos acima. São exemplos simples, mas meu intuito é mostrar o funcionamento da técnica. Você pode usar a [...]


Seguinte, segui certinho o procesimento e funcionou ok, só que ele carrega a página e ela fica toda bugada, não carregar as imagens nem o style (CSS), sabe do que se trata? Desde já valeu =]


[...] FONTE: Blog BRUNO TORRES [...]


#58 | Andre

mto bom o tuto, mas eu tenho uma duvida ainda, teria como
ao inves de colocar http://www.dominio.com.br/cliente/11

teria como ele puxar o Id no cliente e colocar o nome do cliente mesmo nao sendo somente o Id dele?


Se alguém puder me ajudar a reescrever a url

http://www.meusexshop.com/detalhes.php?cod=cod_11&cat=Fantasias%20Eróticas&tipo=Fantasias%20Femininas

já peguei vários modelos de scripts na net mas como não tenho experiência em programação não consigo sequer formatar para minhas necessidades….vlw ….



Ótimo artigo, dar pra ter noção que como gerar as urls amigaveis, que nos tempos de hoje valem muito para seu site ser indexado tanto mais rapido quanto mais páginas.


Muito bom!!! ótima dica para quem trabalha cm SEO. Obrigado! nada de ‘?’ na url das internas.


#63 | Michel

Olá Pessoal estou a com a seguinte dúvida, coloquei o quero transformar a seguinte URL:
http://localhost/br/moveis/produto.php?cdproduto=3
Tranformar em:
http://localhost/br/moveis/produto/3

meu .htacess está dentro do diretorio localhost/br/moveis e está desta forma:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$ /$1.php?cdproduto=$2

Não está funcionando, já tentei de tudo li em um monte de sites mas nada acontece. Estou desesperado já. Abraço.


Que matéria legal. Adoro quando alguém escreve com boa vontade ao invés de quem escreve só o mínimo pensando “eu tive que ralar pra aprender, quem quiser que corra atrás”… Uma nobreza do ser humano é compartilhar experiências e conhecimento. Parabéns


Gente, eu gostaria de uma ajuda,
Eu quero transformar o cutenews (pra quem não sabe é um script de notícias), ele se encontra em habbabao.com.br/cutenews ( pra ver todas as notícias add /show_news ao endereço), eu quero que tire os links enormes das notícias e transforme em links pequenos.
Como por exemplo:
http://www.habbabao.com.br/cutenews/(nome da notícia)
Só que eu não estou conseguindo fazer isto, por favor quem poder me ajudar, contate-me via e-mail:
izaiasjunior_24@hotmail.com
Obrigado.


Muito bom a explicacao, mas encontrei um problema:
- Como faco quando tenho 2 ou mais variaveis na URL?

Abraco.


Acho que consegui resolver meu problema. So nao sei se e gambiarra! =X

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/(.+)/(.+)/(.+)/$ index.php?lang=$1&principal=$2&detalhe=$3&depto=$4 [QSA,L]
RewriteRule ^(.+)/(.+)/(.+)/$ index.php?lang=$1&principal=$2&detalhe=$3 [QSA,L]
RewriteRule ^(.+)/(.+)/$ index.php?lang=$1&principal=$2 [QSA,L]
RewriteRule ^(.+)/$ index.php?lang=$1 [QSA,L]

coloquei em ordem decrescente na quantidade de variaveis na URL. isso e certo??

Denovo, Abraco =)


Rapaz Parabens!
Estava procurando algo assim simples e prático, deu tudo certo!

;D


#69 | Eder

Fiz funcionar o mod_rewrite, mais minha dúvida agora é como o site vai tratar essas novas URLS, levando em consideração que os links são criados dinamicamente e eu vou precisar criar uma linha para cada url do site ?


[...] vamos ? reescrita da URL. Vamos utilizar os exemplos acima. São exemplos simples, mas meu intuito é mostrar o funcionamento da técnica. Você pode usar a [...]


[...] Autor: Bruno Torres [...]


[...] vamos ? reescrita da URL. Vamos utilizar os exemplos acima. São exemplos simples, mas meu intuito é mostrar o funcionamento da técnica. Você pode usar a [...]


#73 | Ivan

Bruno, tentei aplicar mas não deu certo. Veja a url original (antiga): /mostra_conteudo.asp?codigo_conteudo=70&nome_conteudo=Nome do Conteudo

Pra ficar ainda mais legal, no final da url tem nomes com espaço que faz navegadores identificar diferentemente… Enfim, tentei usar a url no .htaccess e não rolou. Tentei também colocar escapes “\” antes de ? e = mas tb nao deu…

Tem alguma dica? Eu preciso isolar esses caracteres especiais e também os números?


#74 | liell

ei gostei da expreção piores do que isto…skkks
mas vc deveria colocr um arquivo exemplo……para nois baixar….por que eu nao concegui compreender


#75 | liell

eih nao eh a primeira vez que eu vejo seu site….
kskss
vou começar a olhar com frequencia…por que jah sao 5 vezes que eu acho uma coisa interessante aqui..ksks….
vc estah me ajudando sem eu pagar nada..kssksk


Cara parabéns… você tem um didática ótima…


«

»

Deixe seu comentário