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"

Reply via email to