Ir para conteúdo

POWERED BY:

Arquivado

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

Apokalypse

url amigaveis

Recommended Posts

Olá pessoal,

 

Bom, resolvi criar este tópico porque estou montando uma extensão para gerenciar url´s amigáveis através de rotas e estou com algumas dúvidas.

 

Tenho visto que a maioria dos scripts que é possível achar prontos pela net e alguns frameworks (por exemplo o da Zend) trabalham de uma maneira gozada estas urls. Por exemplo:

 

http://exemplo.com.br/clientes/adicionar/id/12/ord/asc

 

modulo = clientes

acao = adicionar

id = 12

ord = asc

 

Tá..minha dúvida é a segunte: porque especificar o nome dos parametros id e ord? Não ficaria MUITO mais amigável se a url fosse: http://exemplo.com.br/clientes/adicionar/12/asc ???

 

Bom, resolvi postar isso porque tenho visto isso em dezenas de lugares, e não achei lógica nenhuma. Se for pra usar dessa forma, então é mais fácil usar o bom e velho '?' e '&' não concordam?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,Bom, resolvi criar este tópico porque estou montando uma extensão para gerenciar url´s amigáveis através de rotas e estou com algumas dúvidas.Tenho visto que a maioria dos scripts que é possível achar prontos pela net e alguns frameworks (por exemplo o da Zend) trabalham de uma maneira gozada estas urls. Por exemplo:http://exemplo.com.br/clientes/adicionar/id/12/ord/ascmodulo = clientesacao = adicionarid = 12ord = ascTá..minha dúvida é a segunte: porque especificar o nome dos parametros id e ord? Não ficaria MUITO mais amigável se a url fosse: http://exemplo.com.br/clientes/adicionar/12/asc ???Bom, resolvi postar isso porque tenho visto isso em dezenas de lugares, e não achei lógica nenhuma. Se for pra usar dessa forma, então é mais fácil usar o bom e velho '?' e '&' não concordam?Abraços!

Diga ae!Bom, primeiro queria informar que as urls amigáveis são geradas para que o google faça a indexação melhor. Usando o velho "?" e "&", o google teria dificuldades... E outra é muito mais bonito ler uma url assim: http://www.site.com.br/categoria/php/artigo/2558 do que http://www.site.com.br/?categoria=php&artigo=255Uma outra dica, sempre tente utilizar os recursos mais limpos para que tenha uma boa indexação no google, hoje em dia infelizmente ou felizmente, nós temos que nos preocuparmos bastante com ele... rs... já que várias pessoas tiram uma grana com ele.. Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,Bom, resolvi criar este tópico porque estou montando uma extensão para gerenciar url´s amigáveis através de rotas e estou com algumas dúvidas.Tenho visto que a maioria dos scripts que é possível achar prontos pela net e alguns frameworks (por exemplo o da Zend) trabalham de uma maneira gozada estas urls. Por exemplo:http://exemplo.com.br/clientes/adicionar/id/12/ord/ascmodulo = clientesacao = adicionarid = 12ord = ascTá..minha dúvida é a segunte: porque especificar o nome dos parametros id e ord? Não ficaria MUITO mais amigável se a url fosse: http://exemplo.com.br/clientes/adicionar/12/asc ???Bom, resolvi postar isso porque tenho visto isso em dezenas de lugares, e não achei lógica nenhuma. Se for pra usar dessa forma, então é mais fácil usar o bom e velho '?' e '&' não concordam?Abraços!

Diga ae!Bom, primeiro queria informar que as urls amigáveis são geradas para que o google faça a indexação melhor. Usando o velho "?" e "&", o google teria dificuldades... E outra é muito mais bonito ler uma url assim: http://www.site.com.br/categoria/php/artigo/2558 do que http://www.site.com.br/?categoria=php&artigo=255Uma outra dica, sempre tente utilizar os recursos mais limpos para que tenha uma boa indexação no google, hoje em dia infelizmente ou felizmente, nós temos que nos preocuparmos bastante com ele... rs... já que várias pessoas tiram uma grana com ele.. Abraços!
sim, isso com certeza! fica até mais bonito de ver...rsrMas porque especificar na url o nome do campo? Não poderia ser apenas: http://www.site.com.br/php/2558? é essa minha dúvida!!!abçs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é feito para que não fique perdido,

 

Ex.

 

Tenho dentro do escopo do meu site, duas páginas, onde tenho as categorias "Artigos", "Noticias" e tenho tambem uma área de fotos, porém as fotos não fazem parte de uma categoria e sim de uma parte independente... como iria fazer?, vários "SEs"??

 

http://www.site.com.br/artigos/27/08/2007

 

http://www.site.com.br/foto/25454547

 

já pensou quantos "ses" teria que fazer, você tendo o campo, já monta a consulta direto.

 

Bom, vejo desta forma a utilizaçao.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é feito para que não fique perdido, Ex. Tenho dentro do escopo do meu site, duas páginas, onde tenho as categorias "Artigos", "Noticias" e tenho tambem uma área de fotos, porém as fotos não fazem parte de uma categoria e sim de uma parte independente... como iria fazer?, vários "SEs"??http://www.site.com.br/artigos/27/08/2007http://www.site.com.br/foto/25454547já pensou quantos "ses" teria que fazer, você tendo o campo, já monta a consulta direto.Bom, vejo desta forma a utilizaçao.Abraços

Olá rapaz..entendi o que você quis dizer...Então, eu achei uma solução interessante, baseado no que eu vi no framework da zend, mas de maneira diferente.... vou compartilhar contigo ai.. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Eu acabei de finalizar uma classe pra manipular as urls, o uso:Digamos que eu tenha a seguinte url: http://www.exemplo.com.br/clientes/pesquisar/33/nome/asc
<?php$url = new gerenciadorUrl;// seta a url base do site, para separar os parametros das pastas$url->urlBase('');// no caso se você tiver o script rodando em uma subpstas, você informa o caminho dela//  ex: http://www.exemplo.com.br/meu_sistema/outra_subpasta/clientes/pesquisar/33/nome/asc, ai eu defino o urlBase como 'meu_sistema/outra_subpasta'// em cada módulo eu identifico quem é quem, para saber o que cada valor significa, sem me perder e ter q fazer varios if´s que nem tu falou$url->identificaAtributos(array('id','ordenar','ordem'));// nao preciso especificar que o primeiro parametro é o modulo nem que o seguindo é a ação// ele faz isso sozinho. se nao for definido o modulo e a acao, ele pega o padrão, que eu defino dentro da classe, no caso 'principal/index'print $url->pegaModulo() . '<br>'; // retorna clientesprint $url->pegaAcao() . '<br>'; // retorna pesquisarprint_r($url->pegaAtributos()); // retorna um array onde ele junta os atributos de identificação com os parâmetros localizados na url// retorna: array('id' => 33, 'ordenar' => 'nome', 'ordem'=>'asc');// ou pego um parametro específico:print $url->pegaAtributo('id');?>
Se for informado mais parametros na url do que foi identificado pelo $url->identificaAtributos, ele só vai usar o que foi especificado, o restante ele descarta, por exemplo:url: http://www.exemplo.com.br/cadastro/pesquis...3/param1/param2
<?php$url = new gerenciadorUrl;$url->urlBase('');$url->identificaAtributos(array('id'));print $url->pegaModulo() . '<br>'; // retorna cadastroprint $url->pegaAcao() . '<br>'; // retorna pesquisarprint_r($url->pegaAtributos()); // retorna array('id' => 33). param1 e param2 ele ignora, porque eu nao especifiquei que preciso deles no identificaAtributos()print $url->pegaAtributo('id'); // retorna 33?>
No Zend, até onde eu vi isso é definido no Route, não estudei a fundo pra ver se tem com fazer sem informar a identificação de cada parametro, mas lá as rotas são definidas +- assim: '/:controller/:action/:param1/:param2'Eh isso...valeu pela 'luz' que tu me deu ai!!abçs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algumas considerações:1. Acho incorreto colocar o nome dos campos na URL. Isso deve ser transparente ao usuário. Até por motivos de segurança;2. Em URLs de busca, URLs amigáveis não se faz necessário. Vejam o Google e outros buscadores. Eles não utilizam URLs amigáveis. Nesse caso, o uso de URLs com a passagem dos parâmetros é totalmente aceitável;Leitura complementar:URL Amigável - Vantagens, Desvantagens e DicasURL Amigável - Algumas TécnicasSds,Thiago.

valeu rapaz! vou dar uma olhada nesses links ai...abçs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei uma solução para este problema, uma maneira de não informar o nome das variaveis (campos) na url e ao mesmo tempo não ficar 'perdido' na hora de buscar o que preciso.

 

como estou trabalhando no padrao MVC, cada controller tem um parametro chamado urlVars que é uma array. Nele especifico os campos e ele automaticamente preenche pra mim baseado na url. Um exemplo

 

$this->urlVars = array('modulo','id');

 

http://www.nomedosite.com.br/noticias/32

 

ele vai fazer +- isso:

modulo => noticias

id => 32

 

se o usuario preencher mais parametros, ele simplesmente ignora, pois para o controller atual foram especificados apenas 2 parametros...

 

abçs!

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.