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

宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:andi No.1

回答回数448ベストアンサー獲得回数0

ポイント50pt

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

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

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


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


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

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

id:konorinori

ありがとうございます。

確認して見ます。

2006/02/09 21:25:54
id:kimizu No.2

回答回数726ベストアンサー獲得回数21

ポイント50pt

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は取ること。

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

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

id:konorinori

ありがとうございます。

参考になります。

2006/02/09 22:11:30
  • id:andi
    すみません。

    ボケていましたが、フォームのaction先はhttpsじゃないとSSLにならないので意味ないですね。
    その後のHTMLファイルなどのhref先でhttpから指定して下さい。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません