質問: Web制作初心者です。プログラミングではないかもしれませんが、困っていることがあり、調べてもよくわからないので、お詳しい方がいらっしゃったらご教授いただけないでしょうか。。 現在、ロリポップのサーバーで独自SSLを設定し、httpsのサイトは獲得したものの、検索に上がってくるのは未だhttpのサイトです。これをhttpsに一本化したいと考えているのですが、どうすればできるのでしょうか。リダイレクトというワードは出てきたのですが、それ自体がよくわかりません。WebサイトはHTMLで制作しています。(wordpressではありません) 恐縮ですが、どうぞよろしくお願いいたします。
回答: **リダイレクトについて** HTTP は「サーバー&クライアント方式」のシステムで、クライアントがサーバーに要求を行い、サーバーが応答を返します。この方式の性質上、クライアントがどのような要求を行うかは、サーバーからは制御出来ません。 今回の例でいうと、クライントである Webブラウザが http:// ではなく https:// でアクセスしてほしいワケですが、どっちにアクセスするかはブラウザ側の自由なので、サーバーから制御することは不可能なのです。 これでは困るので、HTTPでは、リダイレクトという仕組みが用意されています。これは、サーバーが応答を返す際、次にアクセスするべきURL をブラウザに伝えます。続いてブラウザは指定されたURLにアクセスします。 今回の例でいうと、http:// にアクセスが有った場合、サーバーが 応答として https:// へのリダイレクトを返せば、クライアントは https:// に接続してくれます。このように、リダイレクトはサーバー側でクライアントからの要求を誘導する仕組みといえます。 リダイレクトには恒久的なリダイレクトと一時的なリダイレクトがありますが、恒久的というのはサイトが引っ越してURLが変わった場合などに使われます。検索サイトは恒久的なリダイレクト先をインデックス化しますので、正しくリダイレクト設定をおこなえば、https:// のURLが検索されるようになると期待できます。 **設定方法** リダイレクトの設定方法ですが .htaccess というファイルで行うことができます。 テキストエディタで .htaccess ファイルを編集し、次のように記述し html などと同じ様にサーバー上に格納します。 ``` RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] ``` ブラウザで http:// でアクセスすると URL欄が 自動的に https:// に切り替われば成功です。