WordPressでサイトを作る場合、WordPressで用意されている機能全てに目が届かずに思っていない機能があとから見つかったり、ほしいと思ってた機能がなかったり、ということがよくありますね。
そのなかで、お客様からユーザーの投稿したページ一覧がでてしまっている!というお問い合わせがありました。
URLはhttps://ドメイン/author/ユーザ名/
になりますね。
私達は一覧ページ用のデザインは作っていたものの、authorページでは一覧ページのデザインが反映されず、デザインが崩れた状態で表示されてしまいました。
また、ユーザー名がでてしまうので、今回のサイトではNGだったんですよね。
ブログサイトなどだったら投稿者別の一覧があるのは大事ですよね。
そこで今回は、auterページを404へリダイレクトさせるのではなく、indexページへのリダイレクトとしました。ワードプレスということでリダイレクト用のプラグインもあるのですが、いくつものページのリダイレクト設定をするのではないため、.htaccessを使用してのリダイレクト設定にしました。
リダイレクトで記載した内容は
# ディレクトリをリダイレクト
RewriteEngine on
RewriteRule ^author(.*)$ https://xxxx.com/ [L,R=301]
だけです。
※WordPress用に記載されている文言の上に来るように記載しています。
コードの内容としては
#ディレクトリをリダイレクト ←コメントなので、処理に必要のない部分です
#は必ず半角で記載してくださいね。
はじめの頃に全角で記載してしまってきちんと動かなくてなんで~ってなったことがあります。
RewriteEngine on
↑ リダイレクト処理のスタートです。PHPバージョンによって書き方は他にもあるみたいですよ。
RewriteRule ^author(.*)$ https://amazia.co.jp/ [L,R=301]
↑ リダイレクト先の指定になります。 (.*)$ はそのディレクトリに含まれるすべての拡張子のファイルになります
これで、author 以下のページは必ずサイトTOPページにリダイレクトするようになりました。
ちなみにリダイレクトチェックとして
https://ohotuku.jp/redirect_checker/
https://tool.mface.jp/redirects/
というものもありますので、ちゃんとリダイレクトされているのかな?って方は確認してみてくださいね。