I am trying to serve a SPA over front door. So in the rules engine i am trying to route any request that does not have an file extension to go to my index.html page. So i have a rule

and this works for the root www.mydomain.com/ but for any path it does not seem to work www.mydomain.com/test
How can i accomplish this?
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
I have also tried

But then neither the root www.mydomain.com/ or a path www.mydomain.com/test work
It would be very helpful to have a way to test these before needing to submit and wait to propagate
@arsnyder16 I would redirect anything that does not have specified extensions to your index page. For Example, if your page serves images and word documents, you can say If extension Does not equal .jpg & .docx, redirect to index.
If you would like us to add a way to test out the rules before you create them, please leave your feedback here at Azure Networking's feedback.azure.com page.
@TravisCragg-MSFT Can you give me more information on why neither of two conditions work? Its not a simple as a couple extensions that i need to exclude. Its a living website that changes constantly, my initial approach is much more maintainable. Would you agree?
I have also tried.
Request Path does no contain . no luck.
Request file name not any no luck.
@arsnyder16 Actually what might be happening is per design, when you say you suffix the path with index.html the link forwarded might actually become www.mydomain.com/index.html/test. We keep the unmatched paths to append to the final URL. On a side note, you can verify if your rule worked or not by looking at the logs "RulesEngineMatchNames" by configuring using steps here - https://docs.microsoft.com/en-us/azure/frontdoor/front-door-diagnostics
@aramesh-msft Thank you that makes a lot of sense based on the behavior, unfortunately i attempted to append a fragment which would allow this to work but the character is not allowed /index.html# so that it would be forwarded to www.mydomain.com/index.html#/test.
Do you have an suggestions on getting this to work?, this seems like a fairly common use case with SPA. I am also not able to use @TravisCragg-MSFT suggestion because i can't do a redirect or else i will lose my routing
@arsnyder16 That's very good feedback for supporting SPA. Since we have this limitation and there isn't really a good workaround, for now, I can suggest you taking a look at CDN url rewrite action that has option to not preserve unmatched path.
https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine-actions#url-rewrite
Struggling with exactly same problem and wondering why you wouldn't just add more flexibility into the rule engine to make SPA hosting possible?
What does 'Not Any' exactly mean? What's the purpose that this condition?
Could you add a condition to match empty extension (no extension)?
Even support for regular expressions could solve the problem.