下記に、httpsでアクセスが来なかったリクエスト全てをhttpsにリダイレクトする処理を書き加えて下さい。WordPressのマルチサイトでの .htaccess です。


RewriteEngine On
RewriteBase /hogehoge/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/06/24 22:51:42
  • 終了:2014/07/01 22:55:04

回答(2件)

id:watercooler No.1

井戸端さん回答回数289ベストアンサー獲得回数512014/06/25 00:10:54

ポイント100pt

2行追加ね。ほかは変更なしよ。

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteBase /hogehoge/
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
他2件のコメントを見る
id:watercooler

リダイレクトループ

ごめんなさい。直したわ。

2014/06/25 14:08:19
id:kichitaka

ありがとうございます!

2014/06/25 19:26:13
id:gizmo5 No.2

gizmo5回答回数484ベストアンサー獲得回数1382014/06/25 01:00:00

ポイント100pt

以下のようなところが参考になると思います。
http://d.hatena.ne.jp/mrgoofy33/20100914/1284414817
http://www.aconus.com/~oyaji/tips/apache_tips1.htm
http://raining.bear-life.com/htaccess/htaccess%E3%81%A7https%E3%81%B8%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%99%E3%82%8B

以下のような記述を追加してください。

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

	...

他にポートを使う記述のやり方があります。

    RewriteEngine on

    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

	...

80 以外のポートも転送する必要があるのでしたら以下のような書き方になります。

    RewriteEngine on

    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

	...

これらの書き方は、302リダイレクトと言われる記述になります。
301リダイレクトを使うか、302リダイレクトを使うかについては以下のようなところを参考にしてください。
http://www.suzukikenichi.com/blog/difference-between-301-redirect-and-302-redirect/

id:kichitaka

ありがとうございます!

2014/06/25 11:10:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません