Multi-locale pages 404 on subdirectories
I was running into the same issue, struggling with it and it turns out that the official documentation is a bit misleading (no offense) when it comes to the .htaccess file, because it just mentions to copy it: 

You can not just copy the .htaccess but you have to change the RewriteBase parameter according to your folder structure in the /public folder.

In your case the .htaccess file in the /public folder should start like this:

&lt;IfModule mod_rewrite.c&gt;
    RewriteEngine On
    RewriteBase /

    (...)


Within your /public/es folder you should have the following in the .htaccess:

&lt;IfModule mod_rewrite.c&gt;
    RewriteEngine On
    RewriteBase /es/

    (...)


Hope that helps!

TL;DR —> The RewriteBase in the .htaccess has to be changed according to the folder setup of the locales