SSLでの問い合わせフォームとかとか

よく、問い合わせフォームはsslでとなった場合、
すべての問い合わせフォームへのリンク先をhttpsに修正するのは面倒だ。

また、テスト環境を下層ディレクトリに創った場合、テスト環境で
リンクチェックが確認できないという状況にもなりかねない。

そこで、

問い合わせフォームがあるディレクトリに


RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

.htaccessを置く

あと、問い合わせフォームからのリンクが相対の場合はhttpsでその後
遷移してしまうので、ドキュメントルート直下の.htaccess には
下記を記述しておくと良いだろう。


RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

!ここで注意!
cssやimageファイルをコンタクトフォームで読んでいる場合、上記の設定だと
再度、cssやimageファイルだけhttpにリダイレクトされるので
それぞれのディレクトリに

RewriteEngine off
と書いた.htaccessを置きましょう。

※特定のファイルは外したい場合(index.html と / でアクセスしたときはhttpでアクセスさせる)


RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !(index\.html|/$)
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} (index\.html|/$)
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]