• 締切済み

Apacheリクエストヘッダを制御してのリダイレクト

apacheのリダイレクトで質問させていただきます。 http, httpsともに以下のようなリダイレクトを行いたいと思ってます。 (https) https://a.com/tenso/ 以下のアクセスを https://b.com/tenso/ にリダイレクト。 (http) http://a.com/tenso/ 以下のアクセスを http://b.com/tenso/ にリダイレクト。 どちらもドメインを置き換えたいといったシンプルな要件です。 が、現在httpsはLBで処理を行っており、apahe側では port80で処理しています。このため、https通信を認識できず リダイレクトが行えない状況です。 https通信の場合、LBからのリクエストヘッダに「SSL」とわかる文字列が挿入される設定になっているとのことで、このリクエストヘッダを 制御してリダイレクトを行えないものでしょうか? mod_proxyはssl非対応とのことと、あまり詳しくなく大変困ってます; どうぞよろしくお願いします。

みんなの回答

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

mod_rewrite を使えばできるんじゃないかな。 RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^/tenso/(.*)$ https://b.com/tenso/$1 [R] RewriteCond %{HTTPS} off RewriteRule ^/tenso/(.*)$ http://b.com/tenso/$1 [R] ただし、RewriteCond 検査条件は > リクエストヘッダに「SSL」とわかる文字列が挿入され ているのを検査してください。

参考URL:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond
nob666666
質問者

お礼

t-otukaさん、回答有難うございます。 サンプルまで記述いただき、大変参考になります。 「RewriteCond 検査条件」というものについてまず詳しく調べてみます。 取り急ぎ御礼まで。 有難うございます。

関連するQ&A