こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

「.htaccess」の301リダイレクト方法?

私は趣味でホームページを作っています。
最近、レンタルしているサーバー「さくらインターネット」が無料で使える証明を使いhttpsに切り替えられるサービスを提供し始めました。
只、例えばhttp://・・・・.comからhttps://・・・・.comでも開けるようになっても、「.htaccess」を使っての301リダイレクトは個人で設定しなければいけないようです。
さくらインターネットのサイトには下記のように書かれていて、そのままコピーしてFFFTPであげたのですが、エラーが生じてサイトを開けなくなりました。
「.htaccess」を削除したら、元通りサイトが表示されました。
http://・・・・.comからhttps://・・・・.comへ全ての下層のページをhttpsへと301リダイレクトしたいのですがどのように設定したら良いでしょうか?
詳しく教えて頂けたら幸いで御座います。
さくらインターネットのサイトには下記のように書かれております。
:::::::
WordPressを利用せずサイトを作成/公開されている場合 ~SNI SSLを利用~
設定ファイルの作成

SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

サーバへ設定ファイルを設置

作成した設定ファイルをサーバへ転送します。
転送する際は以下の点にご注意ください。
ファイルは、「テキストモード」または「アスキーモード」で転送してください。
ファイルの設置場所に注意ください

サーバへ設置したファイルの名前を「.htaccess」に変更する
:::::::

投稿日時 - 2018-01-06 22:07:33

QNo.9415616

困ってます

質問者が選んだベストアンサー

さくらのリダイレクトは全体的にクセが強いため、順を追って解決していく必要があるかと思います。

◆【無料SSL】サーバコントロールパネルからの導入手順 – さくらのサポート情報
 https://help.sakura.ad.jp/hc/ja/articles/115000136822

まずは、HTTPSの設定からです。ちゃんと無料のSSL証明書(Let's Encrypt)は取得できていますか? とりあえず《.htaccess》も何も設定しない状態で、
 http://………….com/
 https://………….com/
の両方にアクセスできるかどうかを確認してみてください。

ちゃんとアクセスできるのであれば、いよいよ《.htaccess》です。具体的には、httpでアクセスされたらhttpsに自動転送されるように設定します。これによって、事実上httpでのアクセスを禁止し、すべてのアクセスをhttps側に振りわけるわけです。

別に設定しなくてもhttpsでのアクセス自体はできるものの、すべてがhttps側に転送されることで安心感も高まりますし、できることならやっておいたほうがいいともいえます。なにより、うまく自動転送されてブラウザに緑の鍵マークが表示されると、すごく本格的なホームページに見えてかっこいいです(笑)。

◆.htaccessによるアクセス制御 – さくらのサポート情報
 https://help.sakura.ad.jp/hc/ja/articles/206054622#ac09

それで、記述そのものはご質問に書かれているとおりで合っています。ふつうに考えれば失敗せずに行けるはずですが、もしうまくいかないのであれば、
 ・ちょっとした記述ミスに注意(コピーすると安心)
 ・</IfModule>の下に改行を一行入れる
 ・文字コードはUTF-8
 ・ファイル名は《.htaccess》
 ・ドキュメントルート直下《/home/ユーザー名/www》にアップロード
 ・パーミッションは604
などといったことに気をつけながら、再挑戦してみてください。

私はWinSCP派なのでFFFTPについては何ともいえないものの、もしFFFTPがうまく動かないようであれば、代わりに《ファイルマネージャー》を使う方法もあります。レンタルサーバーのコントロールパネルから利用できますので、どうしてもダメなら使ってみてください。右クリック⇒表示アドレスへの操作⇒ファイル作成とたどると、《.htaccess》も作成できます。

◆サーバコントロールパネル - ファイルマネージャ
 https://secure.sakura.ad.jp/rscontrol/rs/fileman2/

なお、絶対パスや相対パスについては、今回のご質問とは直接的には無関係だと思います。たとえば、ホームページ内に
 <img src="http://………….com/img/sample.jpg" alt="" />
みたいな記述があった場合にうまく表示できなかったりするので、その場合はhttpの部分を手作業で修正してくださいということです。

 <img src="https://………….com/img/sample.jpg" alt="" />
 <img src="//………….com/img/sample.jpg" alt="" />
 <img src="/img/sample.jpg" alt="" />
 <img src="../img/sample.jpg" alt="" />

いろいろな方法がありますが、とりあえずこんなのが思い浮かびました。

投稿日時 - 2018-01-08 00:38:56

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

http://ad-library.jp/htaccess/
https://digital-marketing.jp/creative/site-renewal-301-redirect/
https://htaccess.cman.jp/
この辺が参考になりませんか?
これまで使用してきたサイトの変更も必要で、サイト内の参照法を、相対パスから絶対パスに変更する必要があるみたいです。
万が一、相対パス、絶対パスの違いが判らい場合、httpsの導入については、再検討が必要かと思います。

失敗しながらも、上手くいくと良いですね^^

投稿日時 - 2018-01-07 11:41:12

あなたにオススメの質問