Apesar de ser o Sistema Gerenciador de Conteúdo mais utilizado e ser praticamente uma unanimidade entre os desenvolvedores, o WordPress apresenta algumas dificuldades de configuração que podem tornar todo o seu site inacessível. Um dos erros mais comuns ao se utilizar a plataforma, é quando os posts/páginas apresentam problemas nos links, de forma que qualquer acesso leve ao erro de página não encontrada.
Ao me deparar com esse problema, encontrei diferentes abordagens para solucioná-lo (que dependerão da causa) e ocorre que talvez seja necessário realizar todos esses procedimentos para corrigir o erro. Vou apresentar essas abordagens por ordem de probabilidade de solução, de forma que ao ir executando, você possa checar se o problema já foi resolvido e descartar as demais etapas.
ATUALIZAR OS LINKS PERMANENTES
Os links permanentes são a forma que o WordPress gerencia o caminho dos posts. Geralmente, utiliza-se o nome do post como referência para link permanente, uma vez que o caminho fica mais amigável. A primeira abordagem consiste basicamente em acessar a configuração de links permanentes (Configurações >> Links Permanentes) e clicar no botão de salvar (não é necessário fazer nenhuma alteração).
Esse procedimento atualiza seus links permanentes e na maior parte dos casos corrige o erro. Entretanto, dependendo das permissões de acesso no seu servidor, pode ser necessário modificar seu arquivo .htaccess (que controla os acessos do servidor Apache). No seu servidor, o arquivo .htaccess se encontra na raiz da sua aplicação WordPress (onde também se localizam as pastas wp-content, wp-includes, etc.). Você tem duas opções: a primeira é atualizar as permissões do arquivo e realizar o procedimento anterior:
1 |
sudo chmod 666 .htaccess |
Ou você pode alterar o arquivo manualmente para inserir o conteúdo que o WordPress estaria tentando inserir quando você clica no botão de salvar:
1 2 3 4 5 6 7 8 9 10 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # ENDWordPress |
Esta é a solução trivial que soluciona a maior parte dos casos. Entretanto, pode ser necessário alterar configurações no apache que podem estar bloqueando a reescrita do arquivo.
HABILITAR MOD_REWRITE NO APACHE
Em alguns casos, o módulo de reescrita do apache precisa ser habilitado para atualização do arquivo. É possível habilitar esse módulo através do comando:
1 |
sudo a2enmod rewrite |
Após o comando, é necessário reiniciar o servidor:
1 |
sudo service apache2 restart |
Após reiniciar o servidor, o procedimento de salvar a configuração dos links permanentes é refeito. No meu caso, me deparei com um problema em que estes dois passos ainda não foram suficientes para solução do problema, sendo necessária uma alteração no arquivo de configuração do apache, explicada na próxima etapa.
ATUALIZANDO O ARQUIVO DE CONFIGURAÇÃO DO APACHE
O arquivo de configuração do apache está localizado em “/etc/apache2/apache2.conf” para a versão mais recente do servidor em uma máquina Ubuntu. No meu caso, foi necessário incluir uma configuração para o meu diretório do WordPress que permitia a sobrescrita (AllowOverride). Supondo que minha aplicação estivesse em “/home/ronanlopes/ronanlopes”, por exemplo, seria necessário incluir o seguinte trecho no arquivo de configuração:
1 2 3 4 5 |
<Directory /home/ronanlopes/ronanlopes> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> |
Novamente é necessário o reinício do servidor, e em seguida acessar a seção de links permanentes no WordPress e salvar a configuração. No meu caso, este último procedimento foi o responsável definitivo pela solução do problema. Qualquer dúvida ou problema nos procedimentos utilize os comentários ou entre em contato!
8 Comentários
Sannytet
11 de dezembro de 2018 at 17:52Nice posts! 🙂
___
Sanny
rita ramos
18 de Março de 2019 at 13:27obrigada pela imensa ajuda
Tulipa H. Ackerman
19 de julho de 2019 at 11:43Show !
Assim como você eu estava precisando mudar a configuração do Apache, não sei talvez seja padrão da Digital Ocean vir com ele desativado.
Mas MUITO OBRIGADA!
Glauco Lucena
23 de Abril de 2021 at 18:12Ajudou de mais, só atualizei os links permanentes.
Obrigado!
Vinicius Vidal
31 de Março de 2022 at 02:47Resolveu meu problema! Muito obrigado pelo excelente artigo!
Obs: para quem também estiver com o mesmo problema que o meu, além das dicas acima precisei alterar também os links permanentes (Configurações -> Links Permanentes -> Selecionei Nome do post)
Hermanny Lira Filho
1 de junho de 2023 at 09:18Obrigado irmão! Resolveu meu problema, era configuração no apache também.
Leo
13 de agosto de 2023 at 22:29Salvou aqui Ronan com a última dica, obrigado
sergio veronezi
17 de setembro de 2023 at 08:45Bom dia, ótimo tutorial, simples e objetivo. Obrigado por compartilhar conhecimento.