I have a react app and have the usual rewrite rule in firebase hosting:
   "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
I also have a separate /images directory with images I don't want to be rewritten.
How do I exclude the /images directory from the rewrite?
I'm a bit late but I found this question while searching for a similar problem.
Use this rewrites rule :
"rewrites": [
  {
    "source": "!/images/**",
    "destination": "/index.html"
  }
]
The key is that "source" (as a lot of fields in firebase.json) use a glob pattern matching notation. Instead of redirecting everything on index.html (as do " ** "), this rule redirect everything that is not in the images folder and subfolders.
"hosting": {
  "rewrites": [
    {
      "source": "/images/**",
      "destination": "/something.html"
    },
    {
      "source": "**",
      "destination": "/index.html"
    }
  ]
}
This will exclude everything inside your /images folder rewriting it to /something.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With