- 25|01|2009 Wordpress: Problemas nos permalinks após atualizar para 2.7
-
Quando tudo parecia concluÃdo para iniciar as postagens no blog, precisei mudar de servidor. Até então nada grave, porém descobri uma grande dor de cabeça nos permalinks.
Subi o wordpress 2.6 e coloquei o blog todo em dia, depois dos acertos necessários atualizei para versão 2.7 (que é muito melhor que qualquer outra versão), então notei que meus permalinks não funcionavam mais, o erro retornado era a página de 404 - página não encontrada.Revirei a net até encontrar esse relato no fórum do WP: http://wordpress.org/support/topic/228380
O problema é o seguinte: A nova versão do WP tem um problema com servidores onde o recurso magic_quotes_* está habilitado. Isso ocorre pois existe uma função (que ainda não identifiquei) que utiliza uma contagem de caracteres para obter o endereço para o rewrite . Essa contagem se perde pois o recurso magic_quotes adiciona os caracteres de escape automaticamente em dados que são enviados para o script PHP.
Vejamos o que o site php.net diz sobre esse recurso:
Aviso
Este recurso tornou-se OBSOLETO e REMOVIDO do PHP 6.0.0. Confiar neste recurso é extremamente não recomendado.Então se está tendo esse problema, desligue esse recurso.
Meu problema continuou pois o servidor alega não poder desativar o recuros já que as configurações são compartilhadas. Nesse momento, meu grande amigo Igor estava sofrendo com o mesmo problema (estamos sob o mesmo servidor). Então eu o ensinei uma solução paliativa apenas para resolver o problema de imediato. Se você sofre com isso aqui vai a dica:
No banco de dados na sua table XYZ_options (onde XYZ é o prefixo que você escolheu para suas tabelas) e procure o registro onde a coluna option_name é igual a rewrite_rules.
Encontrado o registro, obtenha o valor da coluna option_value. Deverá ser algo parecido como isso: a:68:{s:12:”robots.txt$”;s:18:”index.php?robots=1″…
Então basta alterar o valor em destaque, onde S:12 deve virar S:11. Note o novo valor:
a:68:{s:11:”robots.txt$”;s:18:”index.php?robots=1″…(Atenção: lembre-se que após a reticencias existirá mais dados em seu registro, o exibido aqui é apenas um exemplo)
Pronto, teste agora.
Essa solução deve resolver o problema momentaneamente para os que não podem desativar o magic_quotes_* em seus servidores, porém preciso resaltar que é uma solução provisória pois cada vez que a tabela XYZ_options for atualizada o WP se encarregará de retornar o valor para S:12 e então o problema retornará.
No momento eu e o Igor estamos buscando outra solução, enquanto isso espero que essa dica ajude alguém.
-
Tags: magic_quotes, magic_quotes_sybase, permalinks, rewrite, rewrite_rules, Wordpress
Postado em PHP, Wordpress |
1 Comentário

