I’m setting up nginx and I need to use the location directive to match all requests that begin with /site1 AND end with .php. What regex do I use to do this?
I know I can use ^ to match the beginning of the string and $ to match the end of string. So I’m able to match the beginning of the string OR the end of the string as ^(/site)|(\.php)$. Is there any ‘and’ operator so I can write something like ^(/site)&(\.php)$ ?
You want this:
^(/site).*(\.php)$. This means that first you match the beginning followed by “/site”, then anything any number of times, and finally “.php” followed by the end of the string. If you don’t need the captures, it would be simpler as:^/site.*\.php$.