###前提・実現したいこと
現在wordpressで構築したブログサイトのリダイレクトなどの処理を行っています。
ある特定のURL(ここではexample.com/sample/)だけhttpの状態にしたいと考えています。
このURLだけhttps、httpのどちらからアクセスされてもhttpのままにしたいと思っています。この部分は上手く行きましたが、
トップだけが初回アクセス時にhttpsにリダイレクトしません。
特定のURLだけをhttpの状態を保持して、example.comで初回アクセスされてもhttpsにリダイレクトがかかるようにしたいです。
###発生している問題・エラーメッセージ
大体予想通りに動いてくれるのですが、example.com(topページ)でアクセスした時だけhttpsにリダイレクトになりません。 記事ページなどにアクセスするとhttpsにリダイレクトします。ただ初回のexample.comとアドレスバーで検索したときだけリダイレクトが上手くいきません。
###該当のソースコード
<IfModule mod_rewrite.c> # www無しのURLをwww有りに遷移させる RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] #example.comの場合にhttpsにリダイレクト(これを書くとループする) RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] RewriteEngine on RewriteBase / RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.html$ https://example.com/$1 [R=301,L] # httpsでアクセスされた際に指定のURLの場合はhttpへ遷移させる RewriteEngine On RewriteBase / RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} ^/sample/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] # httpでアクセスされた際に指定のURL以外はhttpsへ遷移させる RewriteEngine on RewriteBase / RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} !(^/sample/) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] # END W3TC Page Cache core # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
###試したこと
#example.comの場合にhttpsにリダイレクト(これを書くとループする)という部分書いてみましたがループしました。
###補足情報(言語/FW/ツール等のバージョンなど)
サーバーはエックスサーバーを使っています。
回答1件
あなたの回答
tips
プレビュー