/ / mod reescreve url amigável - regex, apache, .htaccess, mod-rewrite

mod reescrever url amigável - regex, apache, .htaccess, mod-rewrite

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 № 1

Se 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 -.