- PR -

mod_rewriteでのhttps遷移について

1
投稿者投稿内容
どんたくお
ベテラン
会議室デビュー日: 2005/08/29
投稿数: 88
投稿日時: 2005-12-22 23:09
みなさん、こんばんは。
どんたくおです。
// 明後日はクリスマスイブですね。って、関係ないですね。


Apacheにはmod_rewriteモジュールという、非常に素晴らしい
モジュールがあると思います。

これを使って、httpsの遷移などできないかなと思っています。
例えば、
/sec/
以下にアクセスがあった場合、httpsにリダイレクトさせるには

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/sec/(.*?)$ https://%{HTTP_HOST}/sec/$1 [L,R]

にすれば、リダイレクトできると思います。
ただ、これだと、例えばsec/以外の階層、例えばトップぺーじに
移動したときも、httpsで通信されてしまい、あまりよろしくな
いと思います。

そこで、
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/sec/(.*?)$ https://%{HTTP_HOST}/sec/$1 [L,R]

RewriteCond %{SERVER_PORT} ^443$
RewriteCond ^/(.*?)$ http://%{HTTP_HOST}/$1
のようにしたのですが、効果はみられませんでした。


RewriteCondは、2つ立て続けに記述してありますが、もしかして
適応されるのは上のだけなのでしょうか。

もし、mod_rewriteでのhttps遷移についてご経験がある方がおいで
ましたら、ご教授いただけると幸いです。


よろしくお願い致します。
しましま
常連さん
会議室デビュー日: 2005/01/08
投稿数: 41
投稿日時: 2005-12-23 00:00
こんばんは。

この場合、2つ目のやつにも[L,R]が必要なのでは?
どんたくお
ベテラン
会議室デビュー日: 2005/08/29
投稿数: 88
投稿日時: 2005-12-23 01:10
しましまさん、ご返信いただきまして、ありがとうございます。

> この場合、2つ目のやつにも[L,R]が必要なのでは?
大変申し訳ございません。
僕のうつしまちがいでした。

こちらの件ですが、
httpd.confにhttpsにリダイレクトする設定
ssl.confにhttpにリダイレクトする設定
を記述したところ、見かけ上うまく動いているようです。

こちらで、少し確認してみようと思います。

ありがとうございました。m(_|_)m
1

スキルアップ/キャリアアップ(JOB@IT)