<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