Dear freebsd-{chat,current,doc}@,
I would like to announce and introduce <URL:http://mdoc.su/>,
a deterministic URL shortener for BSD manual pages,
written entirely in nginx.conf.
It supports several address schemes, for example:
http://mdoc.su/f/zfs
http://mdoc.su/f/zfs.8
http://mdoc.su/f/8/zfs
http://mdoc.su/freebsd/zfs
http://mdoc.su/FreeBSD/zfs
http://mdoc.su/d/hammer.5
http://mdoc.su/d/hammer.8
etc.
Source code for the whole mdoc.su.nginx.conf is available at:
https://github.com/cnst/mdoc.su
https://bitbucket.org/cnst/mdoc.su
Specifically, the following currently controls FreeBSD rewriting:
location /FreeBSD { rewrite ^/FreeBSD(/.*)?$ /f$1; }
location /f {
set $fb "http://www.freebsd.org/cgi/man.cgi?query=";
set $fs "&sektion=";
rewrite ^/freebsd(/.*)?$ /.$1;
rewrite ^/./([^/.]+)/([^/]+)$ $fb$2$fs$1
redirect;
rewrite ^/./([^/]+)\.([1-9])$ $fb$1$fs$2
redirect;
rewrite ^/./([^/]+)$ $fb$1$fs
redirect;
rewrite ^/./?$ / last;
return 404;
}
Translation: "/FreeBSD" and "/freebsd" get rewritten to "/f" internally,
without any extra replies to the user, and then the rest of the URI is
analysed, and a "302 Found" redirect is finally issued to the user.
Pages like http://mdoc.su/f/ redirect to the main "/" page internally,
without affecting the URL that's visible to the user, making it easier
to keep a starting page specifically for one BSD.
Questions, comments and suggestions are very welcome.
Available through IPv4 and IPv6.
Enjoy!
Best regards,
Constantine.
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"