atelier:mitsuba

i love UI/UX, Blend, XAML, Behavior, P5, oF, Web, Tangible Bits and Physical computing. なにかあればお気軽にご連絡ください。atelier@c-mitsuba.com

Azure WebApps で拡張子のないURLを作りたい

www.microsoft.com

ぐろさみとか名刺渡すときとかに、これも一緒に紹介したくて、アプリの紹介カード作るかーとなったのがことの始まり。

でもこんな感じで、URLが長くて使いづらい。
https://www.microsoft.com/ja-jp/store/p/tanzanite-font-selector-tool/9mz8ncxgwq28?rtc=1

developer portalで紹介されてるURLでも長くてつらい。
https://www.microsoft.com/store/apps/9mz8ncxgwq28

じゃあ、aka.ms 使えるんか?と思ったら、あれは一般人は自由につくれず、かといってgoogleのとか使うのもなー、後ろのURLも自由に決めれないしなぁ。

で、なら、つくったらいいか、ってことに。
http://silkyfeel.jp/tanzanite/ とか http://silkyfeel.jp/tanzanite.html とかでも良かったけど、若干のダサみがあってイマイチ。
理想論は最近短縮URLで流行りの拡張子を削ったやつがいいなぁ。
http://silkyfeel.jp/tanzanite にしたい。

で、そういうのって、.htaccessrewrite機能を使うとできるらしい。
ただ、Azure WebAppsには .htaccess はなくて web.config しかないけど、同じノリでいいっぽい。

書いたのがこちら。

<configuration>
  <system.webServer>
  <!-- なんやかんや省略 -->

        <rewrite>
            <rules>
                <rule name="tanzanite">
                    <match url="tanzanite" />
                    <action url="tanzanite.html" type="Rewrite" />
                </rule>
            </rules>
        </rewrite>

  <!-- なんやかんや省略 -->
  </system.webServer>
</configuration>

matchとactionのurlには正規表現が使えるらしいけど、今回は決め打ち1つなのでこれでいいや。
matchにはアクセスされたurlを書いておいて、サーバーにはtanzanite.htmlを用意してactionのurlにパスを指定。

これで、 http;//silkyfeel.jp/tanzanite で http;//silkyfeel.jp/tanzanite.htmlにアクセスできました。
めでたしめでたし。

ちなみにtanzanite.htmlの中身はというと、結局ストアのページにリダイレクトするだけなので、実質はストアのページのURLになりましたとさ。

ていうかMSさん、作ったアプリぐらいはポータルでms.akaのURLで好きに紹介URL作らせてくれればいいのに。