2006年6月 5日(月) 23時53分50秒 [Web関連]
深い階層にあるページを短い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を短くすべくシンボリックリンクを張るには、次のようにコマンドを打ちます。
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 トラックバック数:0
| « 確実に1枚ずつ取れるポストイット |
前後のエントリ < 旧 / 新 > | 大学昇格記念日と読書とPRESIDENT » |
このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)
コメント数: 0件