にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:23:29.

深い階層にあるページを短いURLでアクセスさせるには

深いディレクトリ階層にあるページを、浅い階層にあるように見せかけてアクセスできるようにするには、シンボリックリンクを張るのが楽です。例えば、階層が深すぎて長くなってしまうURLを、短いURLでアクセスできるようにしたい場合など。

シンボリックリンクというのは…、ええとまあ、Windowsでいうところの「ショートカット」みたいなもんです。「ショートカット」よりはなんとなく「実体」っぽい扱いが可能なんですけども、まあ「遠くにあるモノを指し示してる別名称」という点では一緒です。

シンボリックリンクを使う条件としては、WebサーバのOSがUNIX系であることと、Telnetとかを使ってシェルにアクセスできること。(=コマンドラインからコマンドを実行できること)

例えば、
http://www.example.com/tools/cgi/mt/cgi-bin/blog/
…というような、非常に階層の深い位置にあるページを、
http://www.example.com/blog/
…という短いURLでアクセスさせたい場合とか。

Webサーバのディレクトリ構造で、
http://www.example.com/index.html
というURLに対する(Webサーバ上の)絶対パスが
/home/hogeuser/www/index.html
である場合、さっきのながーいURLを短くすべくシンボリックリンクを張るには、次のようにコマンドを打ちます。

cd /home/hogeuser/www/
ln -s /home/hogeuser/www/tools/cgi/mt/cgi-bin/blog/ blog

lnコマンドに-sオプションを付けると、シンボリックリンクを作れます。
第2パラメータにはリンク先の実体(パス)を指定して、第3パラメータには仮想名を指定します。

上記のように入力すると、
/home/hogeuser/www/tools/cgi/mt/cgi-bin/blog/
というディレクトリは、
/home/hogeuser/www/blog/
というパスでもアクセスできるようになります。(※)

その結果、
http://www.example.com/blog/
というURLにアクセスするだけで、実際には、
http://www.example.com/tools/cgi/mt/cgi-bin/blog/
にあるファイルにアクセスできるようになります。
もちろん、ブラウザのアドレス欄には、
http://www.example.com/blog/
という短いURLが表示されてます。

※最初にcdコマンドで、カレントディレクトリを /home/hogeuser/www/ に移動してます。だから、lnコマンドの第3引数に「 blog 」と書けば、このカレントディレクトリ上に「 blog 」という名称のシンボリックリンクが出来上がります。その結果、 /home/hogeuser/www/blog/ というパスで、第2引数で指定したパスにアクセスできるようになるわけです。

私の契約してるレンタルサーバは、Telnetを使ってシェルにアクセスできるので、シンボリックリンクを使う方法はよく利用してます。Apacheの設定ファイルをごにょごにょしてエイリアスを設定するよりも、シンボリックリンクを作っちゃう方が楽なんですよね。^^;;;

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---