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

SSLについて。
特定のファイルにアクセスがあった時のみ
httpsとなるように
http.confにrewriteを設定しました。
パスワード認証のファイルにアクセスがあったときのみHTTPSにしたかったため、
LoadModule rewrite_module modules/mod_rewrite.so #コメントアウトし、

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog ”logs/rewrite_log”
RewriteLogLevel 0
RewriteRule ^/test/pass.php(.*)?$ https://%{HTTP_HOST}/test/pass.php [L,R]
</IfModule>

と設定しました。
ただ認証ファイル(pass.php)を抜け、パスワード認証後の他のファイルに移ったあとも
URLがhttps://となっているのですが
実際にはhttpでほかのファイルはアクセスされているのでしょうか?

ちなみにパスワード認証はphp5とmySQLを用いて行っています。

環境:
windows2000
Apache2
OpenSSL 0.97
php5
mySQL4

宜しくお願いします。

●質問者: 和食器屋koba
●カテゴリ:コンピュータ
✍キーワード:HTTP HTTPS mod_rewrite MySQL ON
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● andi
●50ポイント

http://a/

> URLがhttps://となっているのですが

> 実際にはhttpでほかのファイルは

> アクセスされているのでしょうか?


httpsでアクセスしていると思われます。


恐らく認証時のフォームの指定が相対指定になっているのでは無いでしょうか?

もしそうであればフォームの指定をhttp://からのURIで指定して下さい。

◎質問者からの返答

ありがとうございます。

確認して見ます。


2 ● kimizu
●50ポイント

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

Apache module mod_rewrite

URL表示がhttpsとなっているので、

アクセスもhttpsで行われています。

試しに、

RewriteLogLevel 1

にして動作させてみると、ログが取れますので、

実際の動きがわかりますよ。


Pass.php以外をhttpでアクセスするには、

「httpsで来たらhttpにする」を表現すれば

良いですね。


RewriteRule ^/test/pass.php(.*)?$ https://%{HTTP_HOST}/test/pass.php

RewriteRule ^/$ https://%{HTTP_HOST}/$1


これかな。後ろのL,Rは取ること。

これで、最初の条件に引っかかれば、次のには

引っかからなくなります。

◎質問者からの返答

ありがとうございます。

参考になります。

関連質問


●質問をもっと探す●



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