Added WebFinger support to my email address using one rewrite rule and one static file.

raw

famarier.txt

<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]
raw

fmarier-comments.txt

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/
raw

gistfile1.txt

[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/"
    }
  ]
}

Christian Weiske Christian Weiske
owner

Fork of

Added WebFinger support to my email address using one rewrite rule and one static file.
gist.github.com

History