Forçar flush de regras de reescrita com WP-CLI (solução para erros 404)
Quando o salvamento de permalinks pelo admin não resolve o erro 404, a abordagem mais garantida é usar o WP-CLI diretamente no ambiente do site, forçando a regeneração completa das regras de reescrita.
Passo a passo no LocalWP (Windows)
- Abra o Site Shell do LocalWP:
- Clique com o botão direito sobre o nome do site (
neodoor.neo). - Selecione “Open Site Shell” (ou “Abrir Shell do Site”).
- Clique com o botão direito sobre o nome do site (
- Navegue até a pasta raiz do WordPress (se o shell não abrir diretamente nela):
D: cd D:\local\neodoor\app\public - Confirme que está no lugar certo:
wp --infoVocê deve ver informações do WordPress (caminho raiz, versão, etc.).
- Execute o flush forçado:
wp rewrite flush --hardO parâmetro
--hardapaga todas as regras existentes e as recria do zero, ignorando qualquer cache. - Verifique se as regras foram geradas (opcional, mas útil):
wp rewrite listIsso exibe a lista de regras ativas. Procure por regras de posts e páginas (ex:
([^/]+)/?$). - Saia do shell (digite
exite Enter). - Teste o site: acesse uma página, um post e uma aula para verificar se o erro 404 foi corrigido.
Se ainda persistir o erro 404
- Delete a opção corrompida no banco de dados (via phpMyAdmin):
DELETE FROM wp_options WHERE option_name = 'rewrite_rules';Depois, repita o flush do WP-CLI.
- Altere temporariamente a estrutura de permalinks para “Simples” (Configurações → Permalinks → Simples), salve, depois retorne para “Nome do post” e salve novamente. Combine com o flush via WP-CLI.
- Reinicie o servidor local (no LocalWP, clique em “Stop” e depois “Start”).
Observação para o caderno
O comando wp rewrite flush --hard é o equivalente mais poderoso ao botão “Salvar alterações” na tela de permalinks. Sempre que houver alterações em CPTs, taxonomias ou regras personalizadas, execute-o pelo terminal para garantir que o WordPress reconheça as novas URLs.
Importante: O WP-CLI só funciona dentro do ambiente preparado pelo LocalWP (via Site Shell). Não adianta abrir um terminal comum em qualquer pasta – o caminho e as variáveis precisam estar corretos.