No mínimo, o RewriteRule está com defeito, pois se refere a três variáveis de retorno diferentes, mas você só tem uma correspondência de grupo para fazer referência! Onde os valores 100 e 101 para a e b devem vir de um só pode adivinhar. Além disso, a expressão regular que você escreveu não corresponderá ao exemplo dado por você ter quatro conjuntos de traços, não um. Tente isso:
RewriteRule ^([-a-zA-Z0-9]+)$ /paper-ads-details.php?a=100&b=101&slug=$1 [L]
Observe que desde que comecei a classe de caracteres []
com um traço, o traço é entendido como adicionar um traço litteral à lista de opções, em vez de denotar um intervalo entre outros caracteres como na sintaxe a-z
. Isso só funciona porque é o primeiro personagem. Minha regra deve corresponder a uma string com qualquer número de traços, mas sem nenhum período. Se um período ou outro caractere aparecer, ele deverá reverter para a correspondência normal de url.