So, I already solved this before (RESOLVED: "Review your contribution" returns a 404 after it worked before on CiviContribute Member Contribution page), but it seems to have come back with a minor vengeance. WordPress 5.9.3, CiviCRM now 5.48.0. I did an extension update of Stripe this weekend which had issues. The resolution there was to change the old base page of 'crm' (last time this happened, I did that because someone probably me accidentally deleted the blank civicrm WordPress page) was changed to a new base page of 'civicrm' so it was back to the default name. Oddly, while that fixed the Stripe payment processing contribution page (and may have broken events, not sure) that caused URLs to use civicrm-2, which turned out to be because the original base page was chosen as Welcome at install time way back when because that's the only page that was there, which I guess updated the post_name to civicrm, so the new civicrm got -2 added to it? Would be nice to be able to edit that within WordPress, but I guess that's what phpMyAdmin is for. In any event, I cleared out all old civicrm pages, flipped the base page to a temporary one, then flipped it back to civicrm (flushing cache every time I changed that, in the unconfirmed thought that this is necessary), hoping that would do what needed to be done.
But now, every single CiviCRM URL gives a 404. Shortcodes in WordPress pages seem to work. But of course that's not going to work out too well as the original problem from before -- review your contribution returns a 404 -- is back.
But, the fix that worked before isn't working. So, what ELSE could be going on here? Does the post_name not matter so much as ... something else?
The website is https://members.marylandtesla.com. Try to become a member and you get a 404 on the review contribution step. The upcoming events (which the Civi event widget isn't actually showing a new test event while it does show up with a shortcode in a page, not sure if that's a clue) all give 404s too unless I use specific shortcodes.
So far just typing this up hasn't given me any more ideas to see what's going on. Help?
Here's the base page config to prove it's there: