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

.htaccess で mod_rewriteをする方法。
www.aaa.com/a_dir/
の中のファイルにアクセスされたとき、
www.bbb.com/a_dir/
の中にあるファイルを表示させたいと思っています。

これをするためには、どこに.htaccessを設置して、どう書けばいいのでしょうか?

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

▽最新の回答へ

1 ● kn1967
●27ポイント

RewriteRule (/a_dir/.+) http://www.bbb.com/$1 [R,L]

$1が(括弧)でくくった部分に置き換わって実行されます。

他にもルールがあるならばR,Lの部分は適宜修正してください。

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

◎質問者からの返答

ありがとうございます


2 ● b-wind
●27ポイント

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

内容は1番の方とだいたい同じですが、若干補足。


設置場所は www.aaa.com/a_dir/ と同じ場所で、(便宜的に表現すると)www.aaa.com/.htaccess になります。


また、方法は2種類あってリダイレクト使用する方法。

RewriteEngine On
RewriteRule /a_dir/(.*) http://www.bbb.com/a_dir/$1 [R,L]

Apache の Proxy 機能を使用する方法。(要 mod_proxy)

RewriteEngine On
RewriteRule /a_dir/(.*) http://www.bbb.com/a_dir/$1 [P,L]

違いはリダイレクトだと、アクセスしたファイルの実体が www.bbb.com にある事がユーザーにも分かりますが、プロキシを使用するとユーザーからは判別できず透過的に見えることです。

◎質問者からの返答

2つの方法とも負荷はそれほど変わらないのでしょうか?

どちらの方がいいということはあるのでしょうか?


3 ● kn1967
●26ポイント

>2つの方法とも負荷はそれほど変わらないのでしょうか?

Proxy(代理)はwww.aaa.com/のサーバーが、www.bbb.com/のサーバーからホームページを受け取って、自分の所にあるが如くユーザーに返すという事を行いますので単純に飛ばすだけのリダイレクトとは比べ物にならないほど負荷が大きいです。

大きな負荷はかかりますがProxyにもキャッシュがありますのでwww.bbb.com/にあるページが静的なものであれば、2回目以降のアクセス時には大きな負荷にはなりません。

サーバーの裏でサーバーを動かしたい。あるいは、ファイルの実態がどこにあるのかを秘匿したいといった場合にはProxyを、そうではないならリダイレクトをって感じで選択なさればよろしいかと思いますがレンタルサーバなどの場合はProxy機能を装備していない場合が殆ど(負荷がかかるのはもちろんの事、乗っ取りや攻撃の踏み台にされる可能性もあるから)です。

http://q.hatena.ne.jp/ダミー

関連質問


●質問をもっと探す●



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