Sou novo em expressões regulares e preciso reescrever um URL de exemplo:
http://domain.com/quiz.php?id=1
Para o URL amigável, que se parece com o URL do fórum, assim:
http://domain.com/1-quiz-title
assim 1
é a variável GET. O título deve estar apenas em minúsculas
Eu tentei o seguinte, mas parece incorreto:
RewriteRule ^([a-z0-9-]+)$ quiz.php?id=$1 [L]
Ele está escolhendo a variável GET como 1-quiz-title
enquanto deveria ser apenas 1
obrigado
Respostas:
0 para resposta № 1Se a variável get for apenas números, você deseja que a regex seja assim:
RewriteRule ^([0-9]+)- quiz.php?id=$1 [L]
Portanto, o regex corresponde primeiro a uma certa quantidade de números e o agrupa (entre parênteses), e corresponde a um "-". Observe que não há um $
para o final da partida, isso basicamente vaiignore o título completamente, nem mesmo tente igualá-lo. O título não precisa estar no URL reescrito, para não nos importarmos com o que vem depois do -
.