Você pode verificar se existe um arquivo htaccess em seu diretório pessoal do WordPress, como mostrado acima. Se não estiver lá, crie um:
$ sudo nano /var/www/html/.htaccess
e copie e cole o abaixo para ele
# 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># END WordPress
Pressione ctrl + xe pressione y para salvar o arquivo. E reinicie o apache por
$ serviço sudo apache2 restart
Você gostaria de dizer ao apache para seguir seu arquivo .htaccess. Você pode fazer isso editando o arquivo apache.conf
$sudo nano /etc/apache2/apache.conf
Desloque-se para a linha
Por padrão, será:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
altere o valor de AllowOverride para All até que agora seja:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Pressione ctrl + xe pressione y para salvar o arquivo de configuração. Para fazer com que isso mude para o servidor, habilite primeiro o mod_rewrite por.
$ sudo a2enmod rewrite
E, em seguida, reinicie o servidor
$ sudo service apache2 restart
Feito!
Fonte: link