I'm pretty sure the issue is that %{REQUEST_FILENAME} does not reference a URI as it as been changed, but instead as it has been requested.
I have some code like this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule app/?(.*)$ /some-site/map-app/$1 [NC,QSA]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule some-site/map-app/?(.*)$ /some-site/map-app/index.html [NC,L,QSA]
</IfModule>
The effect is supposed to be that
- /appgoes to ->- /some-site/map-appwhen searching for files
- if that fails (as it will often because it's an SPA), it goes to /some-site/map-app/index.html
For some reason it's rewriting every path to the index.html fallback.  This means that #1 is occurring enough to meet the RewriteRule condition, but for some reason the RewriteCond are not working.
If I remove the logic for #2, the files resolve fine so the issue is not that the paths it produces are bad.
I've read the docs on "RewriteCond Specials" (https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html)
Why are these two not failing for paths that exist -- and have been produced by the first logic block -- within the second logic block?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Some examples and the desired outcome:
- /app/->- /some-site/map-app/index.html
- /app/map/id-3->- /some-site/map-app/index.html
- /app/app.js->- /some-site/map-app/app.js
- /app/assets/img/1.png->- /some-site/assets/img/1.png(RewriteEngine logic not included in post, but example included in case it changes potential answers)
 
    