announcing mdoc.su, short manual page URLs
Constantine A. Murenin
cnst++ at FreeBSD.org
Tue Feb 19 08:27:03 UTC 2013
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.
More information about the freebsd-doc
mailing list