• Estou escrevendo uma regra de reescrita através da action init. A chamada da função add_rewrite_rule é a seguinte:

    add_rewrite_rule( "noticias/(novidades|esportes|economia|)/?", 'index.php/noticias?categoria=$matches[1]', 'top' );

    O que está acontecendo, é que quando mando o WordPress atualizar as regras de reescrita, no .htaccess ele escreve assim:

    # ...
    RewriteRule ^noticias/(infantil|fundamental-i|fundamental-ii|medio|bilingue|esportes)/? /index.php/noticias?categoria=$matches[1] [QSA,L]
    # ...

    Tenho que mudar manualmente esse $matches[1] mara $1, para que, assim, meu Apache reconheça a regra.

    Como corrigir isso, e porque ele escreve nesse formato?

Visualizando 1 resposta (de um total de 1)
  • Se você deseja que fique só $1 tem que mudar no segundo parâmetro da função add_rewrite_rule(), eu mudei aqui para:
    add_rewrite_rule( "noticias/(novidades|esportes|economia|)/?", 'index.php/noticias?categoria=$1', 'top' );
    e gerou certinho o seguinte:
    RewriteRule ^noticias/(novidades|esportes|economia|)/? /index.php/noticias?category=$1 [QSA,L]

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Regras de reescrita sendo gravadas no .htaccess com formato errado.’ está fechado para novas respostas.