rewrite rule: MediaWiki to static site

Jeff Dyke jeff.dyke at gmail.com
Mon Aug 20 22:35:18 UTC 2018


Seems like you have a solution, but i've done this recently in the reverse
and found this configuration to be incredibly helpful, with little reason
to ever update.  I check the primary (static in my case) site first and if
it 404's it is sent to a different proxy_pass.  As you can guess i use the
Play Framework.

  location @corporate {
    proxy_pass http://corporate-server$uri;
    proxy_intercept_errors on;
    recursive_error_pages on;
    error_page 404 = @play;
  }

location @play {
    proxy_pass http://play-server$uri;
  }

then in the main location block i simply have:

location / {
    include /etc/nginx/shared_foo;  #this is simply shared headers, nothing
to do with the logic
    try_files $uri @corporate;
  }

As @corporate will send to @play only if required.

I mainly put it out here b/c if someone is searching, this is a way to go
about it, without creating a map.  We will add more to static and more to
Play overtime, as we already have, and this keeps on chugging.

Best,
Jeff

On Mon, Aug 20, 2018 at 4:10 PM petecooper <nginx-forum at forum.nginx.org>
wrote:

> Francis Daly Wrote:
>
> > In this case, it looks to me that you can probably "return" rather
> > than
> > "rewrite", since everything should probably be a http redirect.
> > non-Mediawiki URL
>
> > [...] Except I would have the config be not a lot more than
> >
> >   location = /wiki/index.php { return 301
> > https://example.net/$my_static_wiki; }
>
> >   map $arg_title $my_static_wiki {
> >     default ""; # or whatever
> >     en/Main_Page MainPage;
> >     Glossary Glossary;
> >     Category:Troubleshooting Troubleshooting;
> >   }
> >
> > Make that map (http://nginx.org/r/map) be as big as you like. And you
> > can
> > "include" an external file if you find that easier.
>
> > Good luck with it,
>
> Hello Francis -- thank you very much, that worked perfectly.
>
> The length of the `map` list meant I had to increase `map_hash_bucket_size`
> to `128`, but everything works as you described.
>
> with very best regards, and my heartfelt thanks;
>
> Pete
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?2,280913,280922#msg-280922
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20180820/5cfb97ab/attachment.html>


More information about the nginx mailing list