長いURLを短くしても動作するようにする方法は?


以下のようなURLがあるとします。
http://www.aaa.com/bbb/ccc/ddd.php?e=100

これを
http://www.aaa.com/e100
のような短いURLでもアクセスできるようにしたいと思っています。
http://www.aaa.com/e=100
でもいいですが、このようにするには、どうすればいいのでしょうか?

.htacessでリライトするのかなとは思うのですが、どこにそのファイルをおいて、どう書けばいいのでしょうか?
また、これによるサーバ負荷は結構重いのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2007/02/08 14:55:14
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:pikupiku No.1

回答回数3043ベストアンサー獲得回数73

ポイント25pt

http://blog.goo.ne.jp/rd-xs40user/e/47e37940aef0a9594bb1c3a92422...

URLを短くするサービスがあるんですねぇ

id:dingding

サービスもあるんですね

ありがとうございました。

2007/02/08 14:54:48
id:iwaim No.2

回答回数215ベストアンサー獲得回数19

ポイント25pt

http://www.aaa.com/の位置でこんな感じ。

RewriteEngine On
RewriteRule \?e=(\d+)$ bbb/ccc/ddd.php?e=$1 [P]

また、これによるサーバ負荷は結構重いのでしょうか?

結構重いです。

id:dingding

重いんですか。考えものですね。

ありがとうございました。

2007/02/08 14:54:44
id:kn1967 No.3

回答回数2915ベストアンサー獲得回数301

ポイント30pt

http://www.aaa.com/e100

http://www.aaa.com/bbb/ccc/ddd.php?e=100に飛ばしたい場合は

RewriteEngine  on
RewriteRule ^(.)(.*) bbb/ccc/ddd.php?$1=$2  [L]

あるいは

RewriteEngine  on
RewriteRule ^(.)(.*) http://www.aaa.com/bbb/ccc/ddd.php?$1=$2  [L]

の2行をメモ帳などで書き、.htaccessというファイル名でhttp://www.aaa.com/ においておきます。

負荷はそれなりに掛かりますが一般には気にする程ではありません。


↓マニュアルです。

http://japache.infoscience.co.jp/rewriteguide/

id:dingding

大変ためになります。ありがとうございました。

2007/02/08 14:54:39
  • id:kn1967
    http://q.hatena.ne.jp/1170933100 のコメント欄が使えないので此方に書き込みます。
    (回答受付中もコメント欄を開けといてもらうと便利な場合があります。いたずら書きする人もいるようなので絶対開けろとまでは言えませんが、、、)


    e100.htmlから飛ばすのは上手くいかなかったという事ですが、
    飛ばなかったという事でしょうか? それとも、URLは出てしまったという事でしょうか?
    >|
    RewriteRule ^(.)(.*).html http://www.aaa.com/bbb/ccc/ddd.php?$1=$2 [L]
    |<
    といったように.htmlの部分をキチンと書きました?


    ちょっと雑談になってしまうのですが
    www.aaa.com/~bbb/ccc/ddd.php?e=100
    ではなくて
    www.aaa.com/bbb/ccc/ddd.php?e=100
    になっている場合、ルートディレクトリだけはhtaccessの動きが異なる場合があるようです。
    レンタルサーバーをお使いならばxxサーバーのyyコースといったものをお書きになったほうが適切な回答が集まりやすくなると思います。(自宅サーバーの場合はOSとApacheのバージョン)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません