とんじゃえ!

提供

URL転送の方法

どんなときに有効か?

たとえばホームページをお引越しした時。

以前のページに知らずに来た人に、リンクボタンをクリックする手間を与えず新しいページに移動してもらいたい。(面倒くさがってそこで帰る人もいなくなるしね)

たとえば振り分け(*)したい時。

ネットスケープとインターネットエクスプローラーで分けたり、Flashプラグインのあるのと無いのとで分けたり、けっこう振り分けとかでURLの転送をすることってありますね。

あと、ホームページのトップのURLが長すぎて別に分かりやすい名前のページから転送してもらうサービスもありますが、こういった場合はサービス先が設定してもらうので、ここでは触れません。たぶん、これから説明するような方法でやっているのかもしれません。(DNS(*)とかなんとかで設定しているのかもしれませんが)

参考: こんなにあるURL転送(Google "URL"+"転送")

いくつかの方法

手段は4つあります。

METAタグを使う方法、フレームを使う方法、Javascriptを使う方法、".htaccess"を使う方法です。

1.METAタグを使う方法

<meta http-equiv="refresh content="0;url=http://www.mysite.co.jp/mypage.html">

これを<head>〜</head>の間に記述してindex.htmlとかの名前にしてブラウザに読み込ませると、http://www.mysite.co.jp/mypage.htmlにとびます。最初の数字はジャンプまでのカウントダウンの秒数を表していて、0は”ただちに”という意味です。

2.フレームを使う

最近知った方法ですが、知ってしまえば簡単なことです。元のhtmlを1つのフレームだけのフレームセットにして、中身をとばしたいhtmlにします。target属性(*)を記述しないと使いにくくなるので気をつけましょう。

3.Javascriptを使う

hrefかreplaceを使います。私はいつもhrefを使っていたのですが、これだとBackをしたときにまたjavascriptが働いてしまい、戻れないページ(javascriptが働く前にすばやくBackボタンを2度押すと戻れるが)ができてしまうので困ってました。そんなときはreplaceを使うと良いようです。

location.href="mypage.html";

location.replace('mypage.html'); //履歴に残らない

4.".htaccess"を使う

.htaccessに次のように書きます。

Redirect /myfolder/mypage.html http://www.mysite.co.jp/mypage.html

このテキストファイルは魔法のファイルです。サーバーがこれを読んで転送してくれます。

どれが一番いいのか?

難しい問題です。METAタグを使う方法は、履歴に残ってしまうという罠、i-modeなど(*)では対応していない罠があります。フレームを使うと、履歴には残らないでしょうが、フレーム特有の使いにくさの罠(ターゲット属性参照)、フレームに対応していないブラウザがある罠があります。javascriptの場合は、javascriptを無効にしている人も多いので、そういう人でもとべるように考慮しないといけません。.htaccessの場合は、履歴に残る罠、それにこのテクニックを知らないWEB作成後継者がとまどってしまう罠があります。

一番いいのは、適材適所でいくつかを組み合わせることでしょう。個人的には、ややこしいフレームはごめんです。一番いいのはlocation.replace、これにmetaタグを組み合わせる方法、さらに携帯ユーザー用に.htaccessも加えると最強ではないでしょうか?

振り分け

具体的なやり方についてはいずれ解説したい・・・。いつのことやら。

DNS

Domain Name System(ドメインネームシステム)の略。例をあげると、「赤い屋根の田中さんの家」=「○○町○町目○番地」といったようなネットの住所録を持っており、手紙(ユーザーのリクエスト)を配達屋さんが分かる番地に変える機能。だと思う。DNSサーバーとよばれるコンピューターが行っている。

ターゲット属性

フレームの中でリンクを貼ると、子ウィンドウの中で遷移するのでURLが変わらない、ページをお気に入りに入れたり人に紹介したりできない、ページの更新ができないなど、非常に使いにくい事態を招きます。

さらには人様のリンクページまで何も考えずにリンクすると、内容は別サイトなのにURLはリンク元のままという、失礼千万なことになり磔獄門は覚悟しないといけません。

<a href="foo.html" target="_top">

のように、ターゲット属性を指定しましょう。

・_parent
 親のウィンドウに対して
・_top 一番上のウィンドウに対して
・_blank 新しくウィンドウを作る

まあ、よく使うのがこの3つです。

いちいち全部のリンクに書くのが面倒な人はheadのなかに
<base target="_blank">
とかしましょう。なお、上の例だと全部、新しいウィンドウで開いてしまうので、これはこれで嫌われます。

i-modeなど
ほかにもL-Modeとか、PocketPC2002(擬似的にフレーム対応)より前のPocketIEとか、Palmとか、フレーム対応していないブラウザはたくさんあります。
コメント募集

ここのスペースを埋めてくれる独り言、内容の訂正などお待ちしております。

k-utu@qc4.so-net.ne.jpまで

 


WEB Design 全般向け  とほほのWWW入門  どら猫本舗のリファレンスカウンター  ZSPC  
・JavaScript 関連  MSDN  MSDN Japan    とほほのWWW入門    ZSPC    JavaScript サンプル集    一撃必殺 JavaScript 日本語リファレンス    はぎさんの JavaScript Tip集  


BACK