On Fri, Jan 31, 2020 at 01:13:30AM +0000, Steve Wilson wrote: Hi there,
> Currently wordpress is using ugly urls for posts, so "/?p=1234" in wordpress > might be "/this_nice_title" in hugo. > Now hugo allows me to specify aliases too which I'd like to leverage to > maintain links, but this is where I seem to be struggling with rewrite/map > etc. > > Am I missing a way to access the arguments? Without knowing how hugo works, I would suggest ignoring its "alias" feature for this, and just letting nginx invite the client that requests "old", to instead request "new". Assuming that you have the list of old-and-new urls that you care about, and that the old urls are unique case-insensitively, then using a "map" reading "$request_uri" (old) and writing, say, "$hugo_url" (new), would probably be the simplest. map $request_uri $hugo_url { /?p=1234 /this_nice_title; } in http{} (add more lines as wanted), along with something like if ($hugo_url) { return 301 $hugo_url; } in the correct server{}, should work, I think. (Untested by me!) (Maybe change the "return" line to include "https://this-server$hugo_url", if you want that.) (If all of your "old" requests have the same content from the first / to the ?, then you could choose to isolate the "if" within the matching "location = /" block for efficiency; there may be extra config needed in that case.) http://nginx.org/r/map http://nginx.org/r/$request_uri Good luck with it, f -- Francis Daly fran...@daoine.org _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx