WordPressで作成したサイトで、どのリンクをクリックしてもトップ画面にリダイレクトされる。
Googleの検索結果から移動しても同じくトップ画面にリダイレクトされる。
解消したのでメモ。
症状
- ページ内のリンクをクリックするとトップ画面にリダイレクトされる。
- ページ外(Googleなど)から移動しようとしてもトップ画面にリダイレクトされる。
発生条件
- さくらのレンタルサーバを利用している
- WordPressを利用している
- .htaccessにてX_SAKURA_FORWARDED_FOR の環境変数を利用している
原因
- さくらのレンタルサーバFreeBSDのアップデート
<外部リンク> さくらのレンタルサーバ FreeBSDのアップデートに伴う変更点
対応概要
.htaccessにてX_SAKURA_FORWARDED_FOR を利用したリダイレクトをやめる
対応例
!注意!.htaccessの編集を行います、誤った変更を加えた場合サイトが表示されなくなる場合があります。自己責任にてお願いします。
.htaccessの(今となっては)不要な記述を削除する。
任意の方法で編集してください、ここではTeraTermからVimで編集します。
TeraTermを起動して利用しているサーバーに接続します。
- 接続先:xxxxx.sakura.ne.jp ※xxxxxは初期ドメイン名
- ユーザー:xxxxx
- パスワード:設定したもの
.htaccessのあるディレクトリに移動します。
おそらくwwwの下か、もしくはwwwの下のサブドメインの下です。
利用コマンドメモ(linux)
- ll:ファイル、ディレクトリの一覧を表示
- pwd:カレントディレクトリを表示
- cd:カレントディレクトリを変更
- cp:ファイルコピー。cp コピー元 コピー先
- rm:ファイル削除
編集失敗に備えて念のために.htaccessのバックアップを作成します。
vimで.htaccessを編集します(削除だけなので挿入モードは不要)。
TeraTermにて「vim .htaccess」を実行
HTTPからHTTPSへリダイレクトさせるために記述していた以下の2行の記載を削除します(画像参照)
vim操作メモ
- j:カーソル下
- k:カーソル上
- h:カーソル左
- l:カーソル右
- dd:カーソルのある行を削除
- :wq:上書きして終了
- :q!:終了(保存してなくても強制終了)
ここまでで症状は改善するはずです。
動作を確認してみてください。
うまくいかない場合はキャッシュが残っている場合があります。
スーパーリロード(Shift+F5など)やシークレットウィンドウから確認してください。
※そもそもサイトが動かなくなった!とすれば編集を失敗しています。.htaccessをバックアップから元に戻してください。
SSLへのリダイレクト設定
ここまででトップ画面ににリダイレクトされる症状は改善しますが、HTTPからHTTPSへのリダイレクト設定がなくなってしまいました。
さくらインターネットのマニュアルに従って設定します。
<外部リンク> さくらインターネット|ドメインリダイレクトを設定したい
設定例としてここにも記載しておきます。
コントロールパネルにログインします。
会員メニューから移動する場合は↓の「コントロールパネルから開く」
コントロールパネルから「ドメイン/SSL」から「ドメイン/SSL」を選択
設定対象のドメインの「設定」をクリック
「HTTPSに転送する」にチェックを入れて「保存する」をクリックして完了です。
※「www.転送設定」はサイトに合わせて設定します、他の転送設定と競合するとリダイレクトが繰り返される「リダイレクトループ」が発生する場合があるそうです。
<参考サイト(外部リンク)> アスターリンク|WordPressでトップページにリダイレクトされるという事象について
謎の現象に悩まされましたが上記サイト様のおかげで対処できました。感謝!