<Directory /var/www/profile> DefaultType application/json Header set Access-Control-Allow-Origin: "*" </Directory> RewriteEngine on RewriteMap unescape int:unescape RewriteCond ${unescape:%{QUERY_STRING}} resource=acct:(.+) RewriteRule ^/.well-known/webfinger /profile/${unescape:%1}? [last]
Actually there are three problems with this: * URL-encoded query parameters are not unescaped prior to the mod_rewrite match * the content-type is not set * CORS headers are missing Here's my version: This passes all of the checks on http://webfinger.net/
[aaron@parecki.com www]$ cat .htaccess RewriteEngine on RewriteCond %{QUERY_STRING} resource=acct:(.+) RewriteRule ^\.well-known/webfinger /profile/%1? [L] [aaron@parecki.com www]$ cat profile/aaron@parecki.com { "subject": "acct:aaron@parecki.com", "links": [ { "rel": "http://webfinger.net/rel/avatar", "href": "http://aaronparecki.com/images/aaronpk.png" }, { "rel": "http://webfinger.net/rel/profile-page", "href": "http://aaronparecki.com/" }, { "rel": "me", "href": "http://aaronparecki.com/" } ] }
Added WebFinger support to my email address using one rewrite rule and one static file.
gist.github.com