飛ばさないで短いURLを使えるようにするには?


http://q.hatena.ne.jp/1170913440
ここで
http://www.aaa.com/bbb/ccc/ddd.php?e=100

http://www.aaa.com/e100
でアクセスできるようにする方法を聞きました。

教えていただいた方法で、
http://www.aaa.com/e100
にアクセスすると、リダイレクト?されて
http://www.aaa.com/bbb/ccc/ddd.php?e=100
が表示されるようになりました。

そうではなく、
http://www.aaa.com/bbb/ccc/ddd.php?e=100
の内容を、http://www.aaa.com/e100のままのURLを変えないままで、表示できるようにはできないのでしょうか?

また、その場合でも、
http://www.aaa.com/bbb/ccc/ddd.php?e=100
に直接アクセスされた場合は、今まで通りに動作させたいと思います。

可能でしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/02/08 20:11:43
  • 終了:2007/02/15 20:37:59

回答(3件)

id:iwaim No.1

iwaim回答回数215ベストアンサー獲得回数192007/02/08 20:24:50

ポイント27pt
そうではなく、
http://www.aaa.com/bbb/ccc/ddd.php?e=100
の内容を、http://www.aaa.com/e100のままのURLを変えないままで、表示できるようにはできないのでしょうか?

私はhttp://q.hatena.ne.jp/1170913440にそうかいたんだけどなー。

ま、[L]を[P]に変更するとよいです。

id:dingding

は!

そういうことでしたか!失礼しました。

試したのですが、Pでは動かなくて、Lでは動いていたので、何か問題あるのかなと思ってました。

2007/02/08 22:52:21
id:hosiken No.2

ほしけん回答回数8ベストアンサー獲得回数12007/02/08 20:24:50

ポイント27pt

Apache のモジュールのひとつである mod_rewrite をうまく使うと実現できます。

http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html

http://www.net-newbie.com/trans/mod_rewrite.html

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

id:dingding

mod_rewriteを使うこと自体は、問題文にも書いてあるように前の質問で解決できています。

2007/02/08 22:53:18
id:kn1967 No.3

kn1967回答回数2915ベストアンサー獲得回数3012007/02/09 08:47:21

ポイント26pt

http://www.net-newbie.com/trans/mod_rewrite.html#RewriteRule


L は Last

ここで書き換え処理を中止し、それ以上の書き換えルールを適用 しないようにします。

RewriteRule xxx yyy

RewriteRule yyy zzz

という2行を書いたとするとxxxはzzzになってしまいます。

RewriteRule xxx yyy[L]

RewriteRule yyy zzz

という2行を書いたとすると1行目の[L]で止まってxxxはyyyになります。

1行しかない場合は[L]は無くても良いのですが慣習的に入れてます。


P は Proxy Throughput

強制的に置換対象部を内部的にプロキシリクエスト とみなし、その場で(すなわち、ここで書き換えルールを 停止して)プロキシモジュールを 通して出力します。

内部的にプロクシを通せという指示になりますので[P]フラグを使うためにはサーバーソフト(Apache)にProxy機能が組み込まれている必要があります。


ここまででお気づきかとも思いますが、http://q.hatena.ne.jp/1170913440 の回答2では「重い」、回答3では「気にする程ではない」の違いは[P]と[L]の機能の違いによるものだったりします。


本題に戻りますが、

e100 という名前には拡張子がありませんのでMIME-TYPEを判別できない状態にあるのだと思われます。試しにe100ではなくe100.htmlから飛ばすようにhtaccessを書き直して[L]と[P]のテストを行ってみてください。

※前回質問内容にURL秘匿も含まれるとまでは考慮しておりませんでした。申し訳無いです。

id:dingding

Lの意味がようやくわかりました!

今までLの意味がいまいちわからなかったのです、とてもわかりやすい解説ありがとうございます。

ちなみに、

>e100.htmlから飛ばすように~

は試してみていましたが、うまくいっていませんでした。

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

2007/02/09 15:22:32

コメントはまだありません

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません