- - PR -
Apacheにてアクセス元のネットワークによって表示される内容を変える
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-11 12:36
そうでしたか。失礼しました。 VirtualHost内には、RewriteEngine on から書かないとだめですよ。 | ||||||||
|
投稿日時: 2005-03-11 16:05
現状のご報告です。
バーチャルホストを利用するのをやめて 以下だけを記述する形に変えてみました。 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REMOTE_ADDR} ^aaa\.aaa\.aaa\\. [OR] RewriteCond %{REMOTE_ADDR} ^bbb\.bbb\. RewriteRule ^/.*$ /var/www/html/private/index.html </IfModule> すると、グローバル側から http://www.abc.de.co.jp をブラウズすると、グローバル側のコンテンツが表示され、 プライベート側から上記URLをブラウズすると プライベート側のコンテンツを表示することができました。 しかし、プライベート側のコンテンツの画像が 表示されません。 ブラウザのキャッシュを消して再起動して ブラウズしたり、 画像のパスをHTMLフルパスをファイルに記述したりしてみましたが だめでした。 これが解決できれば ほぼ思ったとおりの形になるのですが どのように解決したらよいか分かりません。 よろしくお願い致します。 | ||||||||
|
投稿日時: 2005-03-14 08:32
ここで言われている、「プライベート」と「グローバル」とは、 それぞれ「aaa.aaa.aaa.*とbbb.bbb.*.*のネットワーク」と「それ以外」 ということですか?
その表示されない画像は、/var/www/html/private/ 以下にあるのでしょうか。 例えば、/var/www/html/private/index.html から /var/www/html/private/fig.jpgが 表示されないとか? どういうディレクトリ構造で、うまくいかない具体例を挙げてもらえると 検証しやすいのですが。 | ||||||||
|
投稿日時: 2005-03-14 14:19
めぐ様
ご返信ありがとうございます。 Webサーバの状況は以下のようです。 以下の図は、プライベート側から ブラウズ確認したときの図です。 bbb.bbb.*.* グローバル側 ----------------------------- | http://www.abc.de.co.jp +--------------+ | サーバ | +--------------+ | http://www.abc.de.co.jp ----------------------------- | aaa.aaa.aaa.* プライベート側 | +----------+ | ブラウザ | +----------+ プライベート側からブラウズした際には プライベート側で提供されている内容をブラウズし、 グローバル側からブラウズされた場合には、 グローバル側で提供されている内容がブラウズされる ということを行いたいと思っております。 表示されない画像についてですが、 /var/www/html/private/image 以下にfig.jpgがあり、 /var/www/html/private/index.html のにその画像が張ってあります。 また、グローバル側には /var/www/html/index.html /var/www/html/image/fig.jpg という階層でファイルをおいていますが、 こちらは画像もファイルもブラウズすることができます。 よろしくお願い致します。 | ||||||||
|
投稿日時: 2005-03-14 15:48
Rewriteのログからは何かわかりませんか?
httpd.confに以下を追加するとログが取得できます。 RewriteLog logs/rewrite.log RewriteLogLevel 3 | ||||||||
|
投稿日時: 2005-03-14 16:11
RewriteRule ^/(.*)$ /private/$1
ではどうでしょうか。 /index.html -> /private/index.html /image/fig.jpg -> /private/image/fig.jpg のようにrewriteされます。 | ||||||||
|
投稿日時: 2005-03-14 16:25
めぐ様
度重なるご返信ありがとうございます。 早速設定をして ログを見てみました。 その中に気になるログがありました。 aaa.aaa.aaa.10 - - [14/ 3月/2005:16:15:49 +0900] [http://www.abc.de.co.jp /sid#8099990][rid#82555c0/initial] (2) rewrite /image/title.gif -> /var/www/html/private/index.html これを見る限り、title.gif ファイルが index.html に rewrite されてしまっているようです。 RewriteRule の書き方の問題だと思いますが、 この辺りどのようにしたらよいかわかりません。 現在の設定は以前めぐ様に教えていただいた RewriteRule ^/.*$ /index.html という風になっています。 どのようにしたら良いか 教えて頂けると幸いです。 よろしくお願い致します。 | ||||||||
|
投稿日時: 2005-03-14 18:53
入れ違いになったようですが、
RewriteRule ^/(.*)$ /private/$1 ではどうでしょうか。 |