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

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

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

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

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Q&A

解決済

1回答

2987閲覧

SSL認証済みのサイトを完全にwwwなしに統一したいです。

lazy

総合スコア36

SSL

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

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

0グッド

0クリップ

投稿2016/09/11 13:49

お世話になってます。

さくらレンタルサーバーで新ドメインの移転・SSLの設定を行いました
(旧ドメインでもSSLの設定はしてありました)

htaccessにより、301のリダイレクトで旧ドメインから新ドメインへリダイレクトの設定をしたのですが、
完全に「wwwなし」に統一ができません。

具体的には、以下のとおりとなっております。

■統一後のURL
https://新ドメイン

■301リダイレクトが成功しているURL
http://www.新ドメイン
http://新ドメイン
http://旧ドメイン
http://www.旧ドメイン
https://旧ドメイン

■成功しないURL
https://www.旧ドメイン
https://www.新ドメイン

購入したSSLが「wwwなし」のものになっているので
「https」で「www」でアクセスされた場合に「https://新ドメイン」にリダイレクトできるようには
どのように設定したらよいでしょうか?

現時点でのhtaccessを以下に記載させていただきます。
■旧ドメイン側

htaccess

1<IfModule mod_rewrite.c> 2 RewriteEngine On 3 RewriteCond %{http_host} ^旧ドメイン [OR] 4 RewriteCond %{http_host} ^www.旧ドメイン 5 RewriteRule ^(.*)$ https://新ドメイン/$1 [R=301,L] 6</IfModule>

■新ドメイン側

htaccess

1<IfModule mod_rewrite.c> 2 RewriteEngine On 3 RewriteCond %{ENV:HTTPS} !^on$ 4 RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$ 5 RewriteRule ^(.*)$ https://新ドメイン/$1 [R=301,L] 6</IfModule>

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

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

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

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

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

kunai

2016/09/12 02:52

「統一出来ない」「成功しない」と言うのがどういう状況かわからないのですが。 リダイレクトされずに、www付きのURLのままアクセスされるという状況ですか? その場合正常に画面は表示されていますか? www付きのSSL証明書は(自己証明書でも)あるのでしょうか。
lazy

2016/09/12 07:12

説明不足ですいません。。。 仰るとおり、リダイレクトされずにwww付きのURLにアクセスしようとしています。 また、www付きのSSL証明書ではないため、「プライバシーエラー(Chrome動作時)」と表示されます。 www付きの証明書ではないため、アクセスされれば当然の結果なのですが、 そのため、wwwなしのhttpsのURLにリダイレクトを行いたいと考えております。
guest

回答1

0

ベストアンサー

逆のパターン(wwwなし→www付き)ですが、下記リンクが参考になりませんでしょうか。
さくらサーバーのhtaccessでhttpsを検知するには

投稿2016/09/13 05:49

TaichiYanagiya

総合スコア12146

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

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

lazy

2016/09/24 09:21

試してみましたが、期待する動作にはなりませんでした。 リダイレクトが正常に確認するツールで確認したところ、ツール上は問題がありませんでした。 おそらくですが、「wwwなしの証明書」なのにwwwありにアクセスした時点でブラウザが「プライバシーエラー」を最初に表示させてるのかなと思います。 実際に、プライバシエラーを承知してサイトにアクセスしたところリダイレクト先に301でアクセスができました。 ブラウザの設定でプライバシエラーの回避は可能な話ですが、htaccessでブラウザのプライバシエラーをキャッチすることは不可能でしょうか?>< Chromeのエラー文としては「ERR_CERT_COMMON_NAME_INVALID」がでているので何かしらでこれをキャッチできればなと考えたのですが
TaichiYanagiya

2016/09/25 14:23

.htaccess のみでは対応できません。 wwwありと wwwなしを VirtualHost で分けて、それぞれ証明書を用意する必要があります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問