人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

飛ばさないで短い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
に直接アクセスされた場合は、今まで通りに動作させたいと思います。

可能でしょうか?

●質問者: dingding
●カテゴリ:インターネット ウェブ制作
✍キーワード:URL アクセス リダイレクト
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

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

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

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

◎質問者からの返答

は!

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

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


2 ● ほしけん
●27ポイント

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/

◎質問者からの返答

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


3 ● kn1967
●26ポイント

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秘匿も含まれるとまでは考慮しておりませんでした。申し訳無いです。

◎質問者からの返答

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

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

ちなみに、

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ