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

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

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

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

SSL

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

WordPress

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

リダイレクト

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

Q&A

2回答

5075閲覧

htaccessによる全ページ301リダイレクトの方法について

moiyabi

総合スコア11

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

SSL

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

WordPress

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

リダイレクト

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

0グッド

1クリップ

投稿2016/05/11 13:05

###前提・実現したいこと
Wordpressでホームページを作っているものです。
この度、httpsのホームページを作りたくhttpのページを移行している感じです。

###発生している問題・該当のソースコード

httpのページをhttpsに移行するため、301リダイレクトをすべくhtaccessに書き込んでいます。
ただ、topページだけが301リダイレクトにかかるだけで、残りのホームページはhttpでアクセスしてもhttpのまま動かない状態です。もちろん、topページがhttpsなので、そこからの内部リンクはhttpsに推移するのですが、検索などでhttpのページに引っかかった人はずっとhttpのままページを回る感じです。

今の所htaccessは以下のようなコードになっています。

RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://〇〇.jp/$1 [R=301,L]

###試したこと
htaccessの表記方法がわからないので大して試すにも試せない感じなのですが、
一応ネット上にあるいろいろな301リダイレクトの方法をやってみました。ただ、どれもtopページのみリダイレクトがされる形であまり効果がない感じでした。

例えば以下のようなものをやってみました。(上のものと同じ意味かもしれませんが)

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>

###前提・実現したいこと
どうすれば全ページを301リダイレクトによって戻すことができるでしょうか?
お教えいただけると幸いです。宜しくお願いします。

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

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

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

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

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

guest

回答2

0

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteCond %{SERVER_PORT} !^443$ [OR] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://〇〇.jp/$1 [R=301,L] Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" </IfModule> # END WordPress

otnさんの回答を参考にして、改めてhtaccessに書くコードを検索し、実行してみたところ上記のものだとうまくいくようです。
(# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://〇〇.jp/$1 [R=301,L]
をまとめた形?)

ちょっと意味が分かっていないため本当に解決したのかすらわからず申し訳ないのですが、一応解決とさせていただきます。ありがとうございました。

P.S. 理由を理解された方は回答後でも返信してくださると有難いです。宜しくお願いします。

投稿2016/05/12 10:17

編集2016/05/12 10:22
moiyabi

総合スコア11

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

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

0

今の所htaccessは以下のようなコードになっています。

記述内容に間違いは無いです。
記述内容以外の部分に間違いがあると思われます。

投稿2016/05/11 14:02

otn

総合スコア84423

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

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

moiyabi

2016/05/11 14:18

ご返答ありがとうございます。 そうなんですか... htaccess内には # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> ともう一つサイトを高速化するためのコードを入れています。 後者は消しても同じだったので後者には問題ないと思う次第です。 となると前者かと思うのですが、どこに問題があるのでしょうか? 一応消してhttpがhttpsに成るか検証してみたのですが、消すとサイトの都合上404エラーが出てしまうので試すにも試せない感じです。 どうすればいいでしょうか?ご教授いただけると幸いです、どうぞよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問