質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

451閲覧

マルチサイトのSSL化、www統一なしの301二重リダイレクトで起きた問題

aaron1

総合スコア6

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/04/07 01:26

###動作環境

使用CMS:wordpress Ver4・9・5
使用テーマ:Twenty Seventeen
使用サーバー:Xserver

前提・実現したいこと

Wordpressのマルチサイト(サブディレクトリ型)でサイトを運用しています。
https://exmaple.com
https://example.com/sub/
(両者ともWordpressをインストールしています。)

先日、このサイトを手動でSSL化したのですが、
メインサイトも子サイトも無事SSL化は完了しました。

**
ところが、①子サイトの方のみレイアウト崩れが生じています。
また、②子サイトの方のみ、ダッシュボードに入ることができず、
ダッシュボードに入ると、自動的に子サイトURLトップへリダイレクトされてしまいます。
**

発生している問題・エラーメッセージ

・子サイトのみhttps://example.com/sub/のダッシュボードへ行けず、子サイトトップへ自動ディダイレクトされる。
・子サイトのみレイアウトが激しく崩れる(PCのブラウザからは崩れないことがあるが、IPAD、IPHONEで見ると崩れる)

疑わしい箇所

おそらく、htaccessの記述が間違っていると思われます。
下の方で、記述分を記載しました、すぐ下方にコンソールのソースもありますが、
不要であれば読み飛ばしていただけると幸いです。

(子サイトのコンソール)
Error parsing header X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube: insecure reporting URL for secure page at character position 22. The default protections will be applied.
0ohcrfzBDDc:1 Error parsing header X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube: insecure reporting URL for secure page at character position 22. The default protections will be applied.
c53.jpg Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
www-widgetapi.js:99 Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ('https://exaple.com').
h.B @ www-widgetapi.js:99
uwg1BS2CM74?controls=0&rel=0&disablekb=1&showinfo=0&modestbranding=0&html5=1&iv_load_policy=3&autoplay=0&end=0&loop=0&playsinline=0&start=0&nocookie=false&enablejsapi=1&origin=https%3A%2F%2Fexaple.com&widgetid=1:1 Error parsing header X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube: insecure reporting URL for secure page at character position 22. The default protections will be applied.
c45-700x490.jpg Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
c46-700x543.jpg Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
c47.jpg Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
c48.png Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
c50-700x394.jpeg Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
c54-700x339.jpg Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
c50-700x394.jpeg:1 GET https://exaple.com/sub/wp-content/uploads/sites/2/2018/03/c50-700x394.jpeg net::ERR_TOO_MANY_REDIRECTS
c47.jpg:1 GET https://exaple.com/sub/wp-content/uploads/sites/2/2018/03/c47.jpg net::ERR_TOO_MANY_REDIRECTS
c45-700x490.jpg:1 GET https://exaple.com/sub/wp-content/uploads/sites/2/2018/03/c45-700x490.jpg net::ERR_TOO_MANY_REDIRECTS
c46-700x543.jpg:1 GET https://exaple.com/sub/wp-content/uploads/sites/2/2018/03/c46-700x543.jpg net::ERR_TOO_MANY_REDIRECTS
c48.png:1 GET https://example.com/sub/wp-content/uploads/sites/2/2018/03/c48.png net::ERR_TOO_MANY_REDIRECTS
c53.jpg:1 GET https://example.com/sub/wp-content/uploads/sites/2/2018/03/c53.jpg net::ERR_TOO_MANY_REDIRECTS
c54-700x339.jpg:1 GET https://example.com/sub/wp-content/uploads/sites/2/2018/03/c54-700x339.jpg net::ERR_TOO_MANY_REDIRECTS

(親サイトのコンソール)
Error parsing header X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube: insecure reporting URL for secure page at character position 22. The default protections will be applied.
jPV8IQuu0DI:1 Error parsing header X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube: insecure reporting URL for secure page at character position 22. The default protections will be applied.

(感想)
親サイトのコンソールに比べると、子サイトのコンソールでは問題の指摘が遥かに多い。
親サイトもはじめは問題の指摘だらけだったのですが、プラグイン「search regex」で
http://example.com→https://example.comへの一括置換処理を実行した後、
問題の指摘箇所は圧倒的に減り、URL横に鍵マークがつくようになりました。
ちなみに、子サイトにも鍵マークはついています。

試したこと

・XserverでSSL化を当該ドメインへ適用

・WordpressのダッシュボードからのURL変更(http://example.com→https://example.com※)
(※マルチサイトで運営されているため、ダッシュボード内の一般設定からURLの変更はできなくなっていたため、PHPMyadminから変更し、無事、ダッシュボード内でのURLもhttps://example.com,
https://example.com/sub/へ、変更されました。)

・htaccessへのSSLリダイレクトへの記述(←おそらくこれが原因だと思われます。※)
(※当サイトはwwwなしに統一の301リダイレクト記述も既にされており、
そこにSSL用URLへの301リダイレクトを先日実行したので、私のような初級者に毛が生えた程度
の知識ではわけがわからない状態です。
さらにそこにマルチサイト(サブディレクトリ)用の記述もされており、わけがわからない状態です。)

・プラグイン「Search Regex」を使用し、
http://example.com→https://example.comへ一括置換しました。
(これにより、SSL用URLに鍵マークがつくようになりました。)

該当のソースコード(おそらく問題となっているhtacessの記述)

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^http://example.com RewriteRule (.*) http://example.com/$1 [R=301,L] RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteBase / RewriteRule ^index.php$ - [L]

(←シャープマークが1つ入りますが、Teratail.comの投稿の使用で大文字化けするためカタカナで書きました)add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).) wp/$1 [L]
RewriteRule ^(.
.php)$ wp/$1 [L]
RewriteRule . index.php [L]
</IfModule>

補足情報(FW/ツールのバージョンなど)

子サイトと親サイトでは使用しているプラグインをあえてわけてあります。
たとえば、子サイトのみにAll in One Seo Packをインストールしています。
(検索エンジンに別サイト、別テーマのサイトであると認識させやすくするため)

大変にお手数をおかけしてしまいますが、
問題がおわかりいただける方は、ご回答いただけると幸甚です。
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} .*$ RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteBase / RewriteRule ^index.php$ - [L]

add a trailing slash to /wp-admin

RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.
.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>

自己解決しました。

15行目RewriteRule ^(wp-(content|admin|includes).) wp/$1 [L]
16行目RewriteRule ^(.
.php)$ wp/$1 [L]

15行目RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).) $2 [L]
16行目RewriteRule ^([_0-9a-zA-Z-]+/)?(.
.php)$ $2 [L]
にしたところ、無事、ダッシュボードにも行け、子サイトのレイアウト崩れも解消しました。
wwwありwwwなしの統一はXserverでは管理パネルの設定で自動にやってくれるそうで、
htaccessへの表記は不要なようです。

投稿2018/04/07 06:26

aaron1

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

リダイレクトの指定が間違ってる気がします。
http なら http にリダイレクト。
https なら https にリダイレクトと、指定されてるように見えます。

以下に変更したらどうなりますか?
https なら https にリダイレクト。という指定です。

conf

1<IfModule mod_rewrite.c> 2RewriteEngine On 3 4ここから修正 5RewriteCond %{REQUEST_URI} .*$ 6RewriteCond %{HTTPS} off 7RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 8 9ここまで(下は修正してません) 10RewriteBase / 11RewriteRule ^index.php$ - [L] 12 13(←シャープマークが1つ入りますが、Teratail.comの投稿の使用で大文字化けするためカタカナで書きました)add a trailing slash to /wp-admin 14RewriteRule ^wp-admin$ wp-admin/ [R=301,L] 15 16RewriteCond %{REQUEST_FILENAME} -f [OR] 17RewriteCond %{REQUEST_FILENAME} -d 18RewriteRule ^ - [L] 19RewriteRule ^(wp-(content|admin|includes).*) wp/$1 [L] 20RewriteRule ^(.*.php)$ wp/$1 [L] 21RewriteRule . index.php [L] 22</IfModule>

あと質問するときのコードは ``` で囲んだほうが、化けないですし読みやすいです。

投稿2018/04/07 02:17

kurosawa

総合スコア780

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kurosawa

2018/04/07 15:00

いやいやいや指摘箇所も直してるのに、自己解決って まぁ、いいや
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問