announcing mdoc.su, short manual page URLs

From: Constantine A. Murenin <cnst++_at_FreeBSD.org>
Date: Tue, 19 Feb 2013 00:27:01 -0800
Dear freebsd-{chat,current,doc}_at_,

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.
Received on Tue Feb 19 2013 - 07:27:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:35 UTC