https
他のすべてのページが実行されている間にいくつかのページを実行したいhttp
以下のコードを.htaccessとconfig.inc.phpファイルに書きました
.htaccess
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
RewriteRule ^login/?$ login.php [NC]
# Rewrite non www to www.charityrummage.com
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Rewrite to https
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /login [OR]
RewriteCond %{REQUEST_URI} /do_login.php [OR]
RewriteCond %{REQUEST_URI} /payment/?.*$
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
# traffic to http://, except login.php and payment.php
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(/login|/do_login.php|/payment)
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
また、必要なconfig.inc.phpとウェブサイトの最初のファイルにいくつかの変更を加えました
config.inc.php
$ssl_page = array('login.php','do_login.php','payment.php');
// Note: do_login.php is intermediate page
if(in_array(trim($_SERVER['SCRIPT_NAME'],'/'),$ssl_page)){
define('PROTOCOL','https://');
}else{
define('PROTOCOL','http://');
}
define('DS','/');
define('URL',PROTOCOL.$_SERVER['HTTP_HOST'].DS);
// based on URL i made CSS and JS Path
ここにウェブサイトのリンクがあります:
ログインページは SSL 対応です:
しかし
ウェブサイトを実行すると、さまざまなブラウザーでさまざまなエラーが発生し、本当に面倒です。以下は、さまざまなブラウザでのエラーの説明です
IE8
常にセキュリティエラーのプロンプトが
表示され、[はい]をクリックすると、左側のパネルを除いてすべて正常に表示されます
[いいえ]をクリックすると、Webアドレスの近くに証明書エラーが表示されますが、Webサイトは正常に動作します.
クローム (v:20.0.1132.8)
以下の形式で css と js に関する複数の警告を表示します (コンソールで参照)。
https://www.charityrummage.com/loginのページで、 http: //www.charityrummage.com/css/reset.css の安全でないコンテンツが実行されました
ただし、ログインページのソースを表示すると、すべての cssとjsが実行されていることがわかります
https://
Firefox (v16.0)
それはほんの数秒間ロック記号(安全)を表示してから消えました
(httpsのセキュリティ警告を表示しないことに驚いています)が、 ページ情報->メディアに移動すると、多くの画像がhttp://から来ています
正確な問題を調べて教えてください。
もう一つ知りたいことがあります。
https://
ページが正しく表示されない場合、どちらが責任を負いますか
- オペレーティング システムまたは
- ブラウザ OR
- サーバーまたは
- プログラミングの問題または
SSL証明書の問題
そして最後に、この問題の解決策は何ですか?
ありがとう