Hatena::ブログ(Diary)

memo このページをアンテナに追加 RSSフィード

2007-10-09

[] 共用SSLでmod_rewriteによるSSL領域の切り替え 17:36  共用SSLでmod_rewriteによるSSL領域の切り替えを含むブックマーク

http://独自ドメイン/ssl/ 以下にアクセスした場合、SSLに切り替える。

また、ssl/以下から相対パスで他の階層のファイルにアクセスした場合、SSLから通常の接続に切り替える。

RewriteEngine On
RewriteBase /httpd/htdocs

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} ssl/
RewriteRule ssl/(.*)?$ https://独自ドメイン/ssl/$1 [L,R]

RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_URI} !ssl/
RewriteRule (.*)?$ http://独自ドメイン/$1 [L,R]

ただ、ssl/以下のファイルから、ssl/以下以外の階層へ画像等の相対リンクが貼られている場合、IEでは鍵が表示されない場合がある。Firefoxの場合、鍵に×がつき「警告:証明されていない内容が含まれています」と表示される。

その場合の対処方法

RewriteEngine On
RewriteBase /httpd/htdocs

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} ssl/
RewriteRule ssl/(.*)?$ https://独自ドメイン/ssl/$1 [L,R]

RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_URI} !ssl/
RewriteCond %{REQUEST_URI} !common/
RewriteCond %{REQUEST_URI} !images/
RewriteRule (.*)?$ http://独自ドメイン/$1 [L,R]