短縮URLで様々なスキームを扱う方法
EvernoteのWEBリンクがWEB版を開いてしまう問題
Evernoteでノートを作って、Googleカレンダーのメモ欄にURLを張り付けて情報をリンクさせておきたいのですが、デスクトップ版がインストールされているのにも関わらず、強制的にWEB版が開かれてしまいます。スマートフォンだと勝手にアプリが起動してくれるのですが…。
WEB版の読み込みは遅いので、一々待たされる。(Notionはちゃんとデスクトップ版にリダイレクトされます。)
では内部リンクを使ったらどうかというと、GoogleカレンダーがURIとして認識してくれないので、ただのテキストとして表示されるので、毎回ブラウザのアドレスバーにコピペするはめになる。
それで内部リンクを短縮URLサービスでhttp(https)で始まるURLとして偽装してはどうかと思ったわけです。
が、
(bitly)
ほとんどの短縮URLサービスが受け付けてくれません。短縮URLを踏んだらその先がデータスキームでウイルスに感染なんてこともあり得ますしね、セキュリティーの都合上しかたありません。
ところが大手tinyURLはhttp(https)以外のスキームも通します。なんで?
まあ自分にとっては都合がいいので使っていましたが、拒否されるようになりました。でもしばらく経つとまた通ったりします。なんで?
安定しないのでは使い物にならんので、自分でいじれるものがないか探してYOURLSにたどり着きました。
(SynologyNASで短縮URLをホストする方法に詳しく書いています。)
YOURLSで様々なスキームを扱う方法
YOURLSも、もちろんhttp(https)以外のスキームを一応は弾くようにできているのですが、解除するのはいたって簡単です。
config.phpの最後に
$yourls_allowedprotocols = array( 'http://’, 'https://’, 'evernote://’ );
といった感じで通したいスキームを列挙するだけです。
めでたしめでたしー。
自分でサーバーを立てられる方や、借りてるサーバーを持て余している方はおためしあれ。