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

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

シンボリックリンクを作る

CMSツールみたいな比較的でかいシステムをウェブ上に設置する場合、分かりやすい階層を作ろうと思うと、階層が深くなってしまうことがあります。生成したページ群をそのままCMSツールのあるディレクトリ以下に配置すると、アクセス者に閲覧してもらうページのURLも長くなってしまいます。しかし、アクセス者には簡易なURLでアクセスさせたいと思うことがあります。下記のような感じで。

実体: http://www.example.com/cms/movabletype/sites/diary/
簡易: http://www.example.com/diary/

こういう場合、/diary/ へのアクセスをすべて /cms/movabletype/sites/diary/ へ移動させる、リダイレクト機能を使う手があります。しかし、リダイレクトだとブラウザのアドレス欄に表示されるのは移動後の長いURLですし、検索エンジンに拾われるのも長いURLの方になってしまいます。

こんなときは、リダイレクトで処理するよりも、シンボリックリンクを作る方が望み通りの構造を作れます。

/cms/movabletype/sites/diary/ へのシンボリックリンクを /diary/ として作成すると、あたかも /diary/ ディレクトリが存在するかのように見せることができます。実際には、すべて /cms/movabletype/sites/diary/ ディレクトリ内のファイルが参照されますが、エンドユーザから見ると /diary/ ディレクトリにアクセスしているように見えます。

このシンボリックリンクを使えば、実体は深い階層に置いたまま、表面上は浅い階層にあるように見せることができます。
ブラウザのアドレス欄に表示されるのは短いURLの方ですし、検索エンジンに拾われるのもやはり短いURLの方です。リダイレクトのように転送されるわけではありませんから。

シンボリックリンクを作る

リダイレクトは、Apacheの機能で「.htaccess」ファイルにでも移動処理を書いておけば済みます。シンボリックリンクは、UNIX系OSのファイルシステムの機能なので、Telnetクライアントなどでサーバにログインして、lnコマンドを使って作成します。(ウェブサーバに使っているシステムとは無関係)

シンボリックリンクを作るには、コマンドラインから lnコマンドを -s オプションを付けて実行します。下記みたいな感じで。

ln -s [実体ディレクトリ] [シンボリックリンク名]

「実体ディレクトリ」はサーバ上のフルパスで指定します。(シンボリックリンク名もフルパスで書いても構いませんが。シンボリックリンク名だけを書けば、カレントディレクトリ上に作られます。)

ln -s /home/myaccount/www/cms/movabletype/sites/diary/ diary

すると、カレントディレクトリ上に、指定実体ディレクトリ(上記の場合は、 /home/myaccount/www/cms/movabletype/sites/diary/ ディレクトリ)へのシンボリックリンク「diary」ができます。

その結果、
■http://www.example.com/cms/movabletype/sites/diary/
へのアクセスが、
■http://www.example.com/diary/
という短いURLでできるようになります。

リダイレクト(転送)とは異なるのは、ブラウザのアドレス欄には http://www.example.com/diary/ の方が表示され続けることです。そうなるのは、あたかも実体がこっちにあるかのように(ユーザエージェントには)見えるからです。
もちろん、トップページ以降のあらゆるページ(ファイル)も同様です。

うちのサーバ上でも使いまくってます。

なお、上記のように見えるのはウェブ上から見た場合の話であって、TelnetソフトやFTPソフトなどで実際にサーバ上のディスクスペースを覗いた場合は、シンボリックリンクをたどると、実体側のパスが表示されます。Windowsでいう「ショートカット」のようなものです。(なので、どこが何に繋がっているのかが把握しにくくなることはありません。)

コメント

コメント数: 0件

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

保存しますか?



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

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

トラックバック

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

このリストは、次のエントリーを参照しています: シンボリックリンクを作る:

» MovableType環境引越しメモ(2) シンボリックリンクの作成 from ネットでGo!
サーバ引越しの話の続きです。今回はシンボリックリンクについて書きたいと思います。そもそもサーバの引越しに至った経緯はシンボリックリンクの作成をしたいがためのこと...

トラックバック時刻: 2010年05月04日 16:34

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