Our hosting provider moved site to a new server and broke everything in the process.
Why it was broken wasn’t obvious since all I could get is a 500 server error :-(. After a lot of investigation and dead ends it turned out that the Apache .htaccess file format has changed since I first moved to WordPress. Not something that I would have thought could change, but all the Redirect rules broke this new Apache.
On the other hand I now have a lot more settings to play with.