PCとスマホは別サイトへ、ガラケーは現行サイトで表示するための .htaccess の書き方

2016年も年の瀬を迎える12月中旬です。年の瀬感、ほぼありません。
とあるイベントサイトのリニューアルにあたり、いろいろと提案をさせていただきつつ、WordPress で制作をしています。
そのサイトはフィーチャーフォン(ガラケー)にも対応しているのですが、ガラケー対応を捨てるか否かという話になり、今回のリニューアルでいちど対応版を作ってみてから考える…ということになりました。
テストサイトでは、WordPress 側で Multi Device Switcher プラグインを入れてはいるものの、いろいろ提案途中ということもあり .htaccess にも設定を加えてみることにしました。

ガラケーは現行サイトのURLをそのまま使い、それ以外は新しいドメインに転送する場合の設定

先に、ガラケーは今のURLでアクセスOKという設定

ガラケーは現行URLに誘導しつつ、PCやスマホのアクセスがあった場合には新URLに転送する .htaccess の書き方です。
先に、ガラケーは現行サイトURL(アクセスしてきたままのURL)で閲覧するように設定

現行ドメインの管理画面をパソコンでのアクセス可にした上で、ユーザーからのアクセスは転送

この設定がないと、ガラケーなのに新設サイトに飛ばされたり、パソコンやスマホで http://現行のドメイン/wp-admin/ にアクセスした場合でも http://新設したドメイン/wp-admin/ に飛ばされたりしてしまいます。

301リダイレクトか302リダイレクトか

ガラケー対応の有無は別にして、たとえば将来的に「開催年毎にURLが変わる」ことが想定される場合、301リダイレクトが正しいのか、302リダイレクトが正しいのか迷っていました。

301リダイレクト = 恒久的なリダイレクト
302リダイレクト = 一時的なリダイレクト

ということではありますが、「恒久的」「一時的」がどの程度の期間のことなのか、わかっていなかったのです。
作業してみてわかったことなのですが、 Chrome では 301 リダイレクトの場合、ブラウザに301リダイレクトが記録されます。
つまり、2016年のURLで301リダイレクトを登録した場合、将来2017年のURLに書き換えたとしても、 Chrome さんは
「え、だって恒久的に2016年のURLにするって言ってたよね?」となり、言うことを聞いてくれません。
「恒久的」というのは常に「永遠」です。
更に 301 リダイレクトの場合、Google の検索結果から旧URLを削除されてしまいます。
デバイスによって旧URLも使用しつつ、1年ごとにURLが変わるのであれば、302リダイレクトが妥当でしょう。

ドメイン内の転送設定は WordFes の設定が理想的だったのですが、まあ他人のhtaccessを覗くことなんてできませんよね。運営者さんに声かけて教えてもらうのが良いんだろうけど、コミュ障なもので…。

将来的には、
サブディレクトリ型のマルチサイトでの転送設定で http://example.com/ にアクセスがあった場合には http://example.com/2017/ に転送されるのはもちろん、http://example.com/abc/ にアクセスがあった場合には http://example.com/2017/abc/ に転送、ただし http://example.com/2016/abc/ にアクセスがあったら転送せずそのページを表示

ということがやりたい。

ちなみに

Chrome に記録されてしまった301リダイレクトの解除について、調べると「閲覧履歴の削除」やデベロッパーツールのSettingの中のDisable cache (while DevTools is open)からという説明がありましたが、私には効果がありませんでした…。

ので、Chrome いったん削除して再インストール。設定などはGoogleアカウントの同期で戻ってきたけど、細かい設定を調整しないといけません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です