拡張子のないURIへのアクセスを可能にする のバックアップ(No.3)


拡張子のないURIについて

 最近はファイルに「.php」や「.cgi」といった拡張子を付けずにアクセスさせることがトレンドである。たとえば以下のようなアドレスを見たことのある人は結構多いのではないだろうか。

 ttp://example.com/login

 こういう風にする理由はいくつかあるらしいが、たとえば使っている言語が仮にphpだとして、

 ttp://example.com/login.php

 としてしまうと、遠い将来、phpではなくzzzという別の言語を採用したときに、

 ttp://example.com/login.zzz

 となってアドレスが変わってしまうので、そういったことをを防ぐためというのがある。また、使用している言語(PHP、Perl、Rubyなど)を諸々の理由から隠したいというのもあるらしい。
 理由はどうあれ、将来的には拡張子を付けない方が一般的になるだろうし、トレンドを採用していると訪問者にこのサイトはちゃんとメンテされているという印象を持たれるので採用しても損はないと思う。

参考サイト

 クールなURIは変わらない -- Style Guide for Online Hypertext
 第21回 “使いやすいURI(URL)”の設計を考える(続編) - 技術者視点のユーザビリティ考:ITpro

FilesMatchを使う

 とはいってもXOOPSでは採用できそうなファイルがあまりない。強いて挙げるならログインページ、ユーザ登録ページ、パスワード再発行ページの三つのファイルになるだろうか。

 ttp://example.com/user.php
 ↓
 ttp://example.com/user

 ttp://example.com/register.php
 ↓
 ttp://example.com/register

 ttp://example.com/lostpass.php
 ↓
 ttp://example.com/lostpass

 これを実現するために.htaccessにFilesMatchという設定を書き込む。

<FilesMatch "^register$|^user$|^lostpass$">
  ForceType application/x-httpd-php
</FilesMatch>

 上の設定は「register」「user」「lostpass」というファイルはphpファイルとしてユーザにアクセスさせる、という内容になる。そして、元々存在する「register.php」「user.php」「lostpass.php」から拡張子を削除したファイルをサーバにアップロードしておけば、拡張子のないURIへのアクセスが可能になる。念のために拡張子があるファイルも残しておいた方がいいだろう。つまり、中身は同一で名前だけが違う(拡張子があるものとないもの)を一緒に置いておくということだ。


[PR]