サクラのレンタルサーバー利用、Wordpressを導入し独自SSLを適用しました。  
contactページだけhttpsへリダイレクトしたいのですが、上手く出来ず自己解決できませんでした。  
.htaccessに以下の様に入力し、ルートフォルダへアップしたところ、  
contactページは、HTTPS・HTTP共にトップページへ飛んでしまいます。

```

    RewriteEngine On
    RewriteBase /
    
    #HTTPでアクセスされた場合、
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
    #このページだけHTTPSへ飛ばす
    RewriteCond %{REQUEST_URI} ^/contact/.*$
    RewriteRule ^.*$ https://www.example.com%{REQUEST_URI} [R,L]
    
```

ここまで入力した場合は、contactはhttpsへリダイレクトします。  
以下のコードを追加すると、contactがトップページへリダイレクトしてしまいます。

```

    #HTTPSでアクセスされた場合、
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} !^$
    #このページ以外HTTPSへ飛ばす
    RewriteCond %{REQUEST_URI} !^/contact/.*$
    RewriteRule ^.*$ http://www.example.com%{REQUEST_URI} [R,L] 
    
    # 元からあるワードプレスのコード
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
```

どうぞよろしくお願い致します。
CC BY-SA 3.0
2017-06-16T01:55:14.153
35624
2018-03-26T15:19:40.967
2017-06-16T02:52:33.510
23827
23827
question
wordpress .htaccess https
一部ページのみhttpsへリダイレクトさせる方法（サクラサーバー・Wordpress導入）
コードが合っているかは不明ですが、模索するうちに自己解決いたしました。  
もっとスマートな方法があるかもしれませんが、希望の挙動をしたコードは以下です。

```

    RewriteEngine On
    #contactページにhttpでアクセスした場合
    RewriteCond %{REQUEST_URI} ^/contact/$
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    #トップページ以外にhttpsでアクセスした場合
    RewriteCond %{REQUEST_URI} !^/contact/$
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} !^$
    RewriteRule ^(.*)/$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    #トップページにhttpsでアクセスした場合
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} !^$
    RewriteRule ^$ http://www.example.com/ [L,R=301]
    
```
CC BY-SA 3.0
2017-06-16T06:30:05.583
35632
2017-06-16T06:30:05.583
23827
35624
answer