

Web制作初心者です。プログラミングではないかもしれませんが、困っていることがあり、調べてもよくわからないので、お詳しい方がいらっしゃったらご教授いただけないでしょうか。。

現在、ロリポップのサーバーで独自SSLを設定し、httpsのサイトは獲得したものの、検索に上がってくるのは未だhttpのサイトです。これをhttpsに一本化したいと考えているのですが、どうすればできるのでしょうか。リダイレクトというワードは出てきたのですが、それ自体がよくわかりません。WebサイトはHTMLで制作しています。（wordpressではありません）

恐縮ですが、どうぞよろしくお願いいたします。


CC BY-SA 4.0
2018-11-21T03:09:51.303
50490
2018-11-21T09:28:15.933
31089
question
ssl .htaccess https
httpsへのリダイレクトについて。


下記サイトにある「httpからhttpsへリダイレクトする」の欄に書かれている手順でどうでしょうか。  
私は、ロリポップのサーバーを契約したことがないので試せていませんが、たぶん大丈夫だと思います。

<https://1bocci.com/lolipophttps>


CC BY-SA 4.0
2018-11-21T04:01:28.393
50492
2018-11-21T04:01:28.393
29034
50490
answer


レンタルサーバの設定に依存しない方法として、Javascriptを利用してプロトコルがHTTPならHTTPSへリダイレクトする方法があります。

以下のようなスクリプトを読み込ませることで、自動的にリダイレクトが行われます。

[code]

    if (location.protocol === 'http:') {
        location.href = 'https:' + window.location.href.substring(window.location.protocol.length);
    }
    
[/code]


CC BY-SA 4.0
2018-11-21T04:56:16.430
50495
2018-11-21T04:56:16.430
29826
50490
answer


**リダイレクトについて**

HTTP
は「サーバー＆クライアント方式」のシステムで、クライアントがサーバーに要求を行い、サーバーが応答を返します。この方式の性質上、クライアントがどのような要求を行うかは、サーバーからは制御出来ません。

今回の例でいうと、クライントである Webブラウザが http:// ではなく https://
でアクセスしてほしいワケですが、どっちにアクセスするかはブラウザ側の自由なので、サーバーから制御することは不可能なのです。

これでは困るので、HTTPでは、リダイレクトという仕組みが用意されています。これは、サーバーが応答を返す際、次にアクセスするべきURL
をブラウザに伝えます。続いてブラウザは指定されたURLにアクセスします。

今回の例でいうと、http:// にアクセスが有った場合、サーバーが 応答として https:// へのリダイレクトを返せば、クライアントは
https:// に接続してくれます。このように、リダイレクトはサーバー側でクライアントからの要求を誘導する仕組みといえます。

リダイレクトには恒久的なリダイレクトと一時的なリダイレクトがありますが、恒久的というのはサイトが引っ越してURLが変わった場合などに使われます。検索サイトは恒久的なリダイレクト先をインデックス化しますので、正しくリダイレクト設定をおこなえば、https://
のURLが検索されるようになると期待できます。

**設定方法**

リダイレクトの設定方法ですが .htaccess というファイルで行うことができます。

テキストエディタで .htaccess ファイルを編集し、次のように記述し html などと同じ様にサーバー上に格納します。

[code]

    RewriteEngine On 
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
    
[/code]

ブラウザで http:// でアクセスすると URL欄が 自動的に https:// に切り替われば成功です。


CC BY-SA 4.0
2018-11-21T09:28:15.933
50508
2018-11-21T09:28:15.933
5008
50490
answer