質問: ### 前提・実現したいこと html+cssで作成しているサイトの中の特定のページのみを、htaccessを使ってSSLにしたいのですが、うまくできません。 contact.htmlとentry.htmlの2ページをSSLにしたいです。 下記のコードだと、safariだとページを開く度にSSLになったりならなかったり、クロームで見るとCSSが効かず表示が崩れたりします。 ディレクトリは下記のようになっており、SSLにしたいページとしたくないページは同じ階層にあります。 index.html contact.html entry.html aaa.html bbb.html +--css/CSSファイル +--img/画像ファイル +--その他フォルダ/その他html ### 該当のソースコード ``` RewriteEngine on RewriteCond %{REQUEST_URI} .*/contact.html$ [OR] RewriteCond %{REQUEST_URI} .*/entry.html$ RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] RewriteCond %{REQUEST_URI} !(.*/contact.html$) RewriteCond %{REQUEST_URI} !(.*/entry.html$) RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] ``` ### 試したこと サイトなどで調べて試してみましたが、htmlとcss以外の知識がなく、どの部分に問題があるのかが分かりません。どなたかお教え頂けると嬉しいです。
回答: CSSが崩れる件については、 1.HTML本体はリダイレクトされてHTTPSで取得となる 2.CSSや画像は非HTTPSで取得となる 3.HTTPSと非HTTPSが混在する為、ブラウザ側の機能で非HTTPS通信を遮断している とかじゃないですかね。 何故にHTML本体以外をわざわざリダイレクトさせてまで非HTTPSで通信させたいのか不明ですが。。。 HTTPSリダイレクトが機能したりしなかったりと言うのは、URLの.htmlの後にパラメータがついていたりするとかではないでしょうか。