Ir para conteúdo

Arquivado

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

tiagopiano

Url amigavel com parametro

Recommended Posts

Pessoal estou usando a seguinte regra no meu arquivo .htaccess

 

RewriteRule ^produtos/([a-z0-9-]+)/([0-9]+)/?$ /produtos.php?pesquisa=$1&pag=$2 [NC]

 

 

Nessa página eu tenho um campo pra pesquisa e uma paginação dos resultados. Mas quando eu entro na página sem passar nenhum parametro aí da erro.

 

  • exemplo: site.com.br/produtos assim dá erro
  • exemplo: site.com.br/produtos/camisa/1 assim funciona

 

Alguem pode ajudar ?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela dica Beraldo, mas não vou poder usar o Slim por enquanto.

Não consegui montar ainda dentro do .htaccess a condição:

 

Eu fiz assim mas não funcionou ainda:

 

RewriteCond ^produtos/([a-z0-9-]+)/([0-9]+)/?$ /produtos.php?pesquisa=$1&pag=$2 [NC,OR]
RewriteRule ^produtos/?$ /produtos.php [NC,OR]

 

 

Preciso que a página seja acessada sem parametro (site.com/produtos) e com parametro (site.com/produtos/camisa/1)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O "?" está logo após a barra. Ou seja, você tornou a barra opcional.

Coloque a barra dentro do parênteses e deixe o "?" logo após o parênteses. Isso tornará opcional tudo que está no grupo entre parênteses

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, a sua regra está dizendo o seguinte.

comece com "produtos/" tenha um valor de alfanumérico, tenha uma "/", tenha outro valor alfanumérico e termine ou não com uma "/".

Então o Apache entende que sempre deve haver "produtos/" com a barra depois, por isso quando você acesso sem a barra dá erro.

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.