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
宜しくお願いします。
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
No.1
50pt
> URLがhttps://となっているのですが
> 実際にはhttpでほかのファイルは
> アクセスされているのでしょうか?
httpsでアクセスしていると思われます。
恐らく認証時のフォームの指定が相対指定になっているのでは無いでしょうか?
もしそうであればフォームの指定をhttp://からのURIで指定して下さい。
No.2
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は取ること。
これで、最初の条件に引っかかれば、次のには
引っかからなくなります。
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。
これ以上回答リクエストを送信することはできません。制限について
ありがとうございます。
確認して見ます。