Hi, @linasv, what @gregraven has said is exactly correct.
What you are seeing is the file shadowing behavior. Quoting the documentation about this:
By default, you can’t shadow a URL that actually exists within the site. This applies to rewrites using a splat or dynamic path segment as well as rewrites for individual routes or files.
The rules themselves look like this:
/ https://google.com
/* https://google.com
If no status is specified as is done above, the rule is a 301 by default. So, the two rules above are equivalent to this:
/ https://google.com 301
/* https://google.com 301
Also, these two files exist in the deployed files for this site:
This means these two URLs will not redirect because those “files” exist (note the “empty path” of /
only will serve index.html
):
There is no file example.html
or example/index.html
so the following URL does redirect:
If you want all URLs for redirect, even if a shadowed file does exist, then make the rules “forced” rules like so (adding the “!” to each 301
status):
/ https://google.com 301!
/* https://google.com 301!
If there are other questions about this, please let us know.