Nesse artigo eu vou apresentar uma possível solução para a falha “The requested URL was not found on this server”. Esse artigo também irá apresentar soluções de segurança dos seus arquivos, ajudando a prevenir invasões e alterações dos seus arquivos na sua instalação do Wordpress,
Vamos configurar o Apache2 para garantir a segurança dos seus arquivos. Para isso, abra o arquivo “/etc/apache2/apache2.conf” e altere o seu conteúdo como mostrado abaixo:
# Protege a raiz do sistema
<Directory />
Options None
AllowOverride None
Require all denied
</Directory>
# Protege o /usr/share, permitindo acesso somente ao necessário
<Directory /usr/share>
Options None
AllowOverride None
Require all denied
</Directory>
# Libera acesso apenas ao diretório específico onde estão os arquivos públicos
<Directory /var/www/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Adicionar proteção contra execução de scripts fora do diretório web
<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Require all denied
</FilesMatch>
# Bloquear acesso a wp-config.php
<Files wp-config.php>
Require all denied
</Files>
# Bloquear acesso a arquivos .ht*
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
# Bloquear execução de PHP em uploads
<Directory "/wp-content/uploads/">
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
</Directory>
# Bloquear XML-RPC (se não usar Jetpack ou apps móveis)
<Files xmlrpc.php>
Require all denied
</Files>
<Directory />: Refere-se ao diretório raiz do sistema (/). É uma medida de segurança para garantir que ninguém consiga acessar a raiz / do sistema via web./usr/share pode conter arquivos públicos, como documentações, páginas de exemplo etc. É um local padrão em algumas distros Linux para arquivos estáticos.Options None: Remove todas as permissões, inclusive FollowSymLinks, para ser ainda mais restritivo.Options FollowSymLinks: Permite que o Apache siga links simbólicos.Options -Indexes +FollowSymLinks:
-Indexes: desativa listagem de diretórios (muito importante!);+FollowSymLinks: necessário para o WordPress e muitos frameworks.AllowOverride None: Não permite que arquivos .htaccess sobrescrevam configurações neste diretório.AllowOverride All: Aqui está o ponto mais importante para o WordPress:
.htaccess sobrescrevam configurações, necessário para URLs amigáveis (permalinks) e outras regras do WP.Require all granted: Concede acesso a qualquer visitante.Require all denied: Nega acesso total a esse diretório para qualquer visitante.Esse é o diretório onde seu WordPress está instalado (ex: /var/www/html/). Essa configuração garante que:
.htaccess (que o WordPress usa para redirecionamentos, rewrites etc.);No /etc/apache2/conf-enabled/security.conf, adicione ou edite:
ServerTokens Prod
ServerSignature Off
apache2ctl -MDesabilite módulos não usados, como:
a2dismod autoindex status cgi
No seu apache2.conf, 000-default.conf ou .htaccess, adicione:
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "no-referrer-when-downgrade"
Header always set Permissions-Policy "geolocation=(), microphone=()"
Obs: É necessário que o módulo
headersesteja habilitado:
sudo a2enmod headers
.htaccessEsse arquivo fica oculto, por isso o “.” no início do seu nome. Ele é responsável por informar ao seu servidor sobre o comportamento de acesso dos diretórios e precisamos alterá-lo ou criá-lo para corrigir a falha e aprimorar a segurança do seu site. Para isso, siga as instruções conforme descrito nos passos a seguir.
Agora nós vamos criar o arquivo. Navegue até a raiz do diretório que está instalado o Wordpress, crie um arquivo ‘.htaccess’ e preencha o seu conteúdo, conforme sugestão abaixo:
# INÍCIO DAS REGRAS DO WORDPRESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# Qualquer requisição que não seja para um arquivo ou diretório existente
# será redirecionada para index.php, onde o WP decide o que fazer
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# FIM DAS REGRAS DO WORDPRESS
Nesse passo, precisamos restringir os acessos aos diretórios. Assim como alterar a propriedade dos arquivos e diretórios da instalação do Wordpress. Para isso, é necessário digitar os seguintes comandos na raiz da sua instalação:
sudo chown -R www-data:www-data wp-admin/
sudo chown -R www-data:www-data wp-includes/
sudo chown -R www-data:www-data wp-content/
sudo chown -R www-data:www-data *.php
sudo chown -R www-data:www-data *.html
sudo chown -R www-data:www-data *.txt
sudo chown -R www-data:www-data .htaccess
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
sudo find . -type f -name "wp-config.php" -exec chmod 600 {} \;
sudo find . -type f -name ".htaccess" -exec chmod 644 {} \;
Para aplicar as configurações realizadas é preciso reiniciar o seu servidor Apache. Para isso, digite o comando
sudo systemctl restart apache2.
Para corrigir esse problema, é necessário apenas alterar entre as opções "Plain" e "Post name". Dessa forma, o seu Wordpress irá reconfigurar o arquivo de rotas e corrigir o problema. O padrão sugerido para usar é a opção "Post name", os as suas páginas ficarão com uma URL amigável para compartilhamento futuro.

Agora, esperamos que a segurança do seu site no Wordpress esteja ainda mais garantida. É claro que ainda existem plugins como o Google Authenticator que irá apoiar na restrição do acesso ao painel administrativo e o plugin Login Lockdown que irá bloquear endereços que realizem múltiplas tentativas de acesso.
A segurança é uma preocupação constante e esses passos sugeridos visam te apoiar em um ambiente seguro e disponível para seus sites. Espero ter ajudado!
Renée Maksoud - abril de 2025