Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

.htaccess mod_rewite: URLs 'flat'

$
0
0
Antes de mais, tenho a consciência que este não é o lugar perfeito para colocar questões deste género, mas à falta de melhor sitio para colocar uma questão acerca da configuração do Apache, e visto que isto depois vai acabar por ser processado por PHP, resolvi-me a deixar a questão aqui. Se for necessário, movam-me o tópico para um lugar mais propriado.

Eu tenho bastante experiência com PHP, mas enfim, não me vou gabar. No geral tenho a certeza do que estou a fazer, e não sou apenas mais um à procura de alguém que lhe faça o trabalho da escola.
Tendo isto dito, passemos então à questão:
Estou a desenvolver um website para uma oficina, que vende peças em segunda mão. É possível filtrar os resultados da base de dados pela categoria e pelas etiquetas (tags) do artigo.
Como daria um aspecto mais profissional ter 'flat links', os meus links estão neste formato: dominio.tld/?a/b/c/f/k/q, mas mesmo assim não tem aquele aspecto.
Eu tentei usar o mod_rewrite, mas não pesco nada daquilo, e o pouco que mexi nos ficheiros .htaccess foi com tutoriais ao lado, preciso de alguma orientação.

O meu objectivo é ter um URL do género loja.com/Artigos/Categoria/Motor/Etiqueta/B18 ser transformado em loja.com/?Artigos/Categoria/Motor/Etiqueta/B18
Eu poderia muito bem por cada valor no $_GET, mas os links na verdade são um pouco mais complexos que isto (a ordem, tamanho, quantidade e tipo dos argumentos é variavel), pelo que prefiro processar a query string no PHP. Estou até a considerar alterar os links para uma coisa com um pouco mais de sentido, como loja.com/Artigos/Categoria:Motor/Etiqueta:B18. Mas isso não faz diferença para a questão.

Sei que é relativamente simples fazer uma alteração deste género, mas eu tenho uma restrição:
Todos os meus recursos são guardados algures na pasta resources. Por exemplo, resources/css/ ou resources/js. Esse tipo de pedidos deve ser ignorado.
Eu queria fazer isto por mim, mas as minhas capacidades para regex não são do melhor, e atrofiei um bocado com o assunto.

Resumindo: Para todos os caminhos que não comecem com 'resources', redireccionar para o ficheiro index.php com o caminho pedido na query string.

Se alguém me pudesse ajudar com isto, seria bom. Não é uma coisa essencial, mas o aspecto conta.
Desde já obrigado.

Viewing all articles
Browse latest Browse all 14700

Trending Articles