さくらのレンタルサーバーでクイックインストールしたWordPressのディレクトリを、ドメイン設定で既定のフォルダにしてしまったため、古いサイトの授業ノートに検索から来る人が404になってしまうのを対処しました。
今までは、ralit.sakura.ne.jpをralit.orgに設定していた。
wpディレクトリにWordPressをインストールし、wpディレクトリをralit.orgに設定。
1日に何件か、旧サイトの授業ノートに、検索からアクセスがあることが判明
当然404になる
404ページに旧サイトへのリンクを貼ってみるが、クリックする人はいない
新しくralit.blogドメインとか取得してブログを始めるべきだったんだけど、既にTwitterやfacebookで記事をたくさん貼ってしまったため、リダイレクト設定でなんとかしようと考える。
wpディレクトリの.htaccessを編集した
以下を.htaccessの先頭に追記(末尾だとうまくいかなかった)
RewriteEngine on
RewriteBase /
RewriteRule ^note2016/(.*)$ http://ralit.sakura.ne.jp/note2016/$1 [R=301,L]
RewriteRule ^note2015/(.*)$ http://ralit.sakura.ne.jp/note2015/$1 [R=301,L]
RewriteRule ^note2014/(.*)$ http://ralit.sakura.ne.jp/note2014/$1 [R=301,L]
RewriteRule ^note/(.*)$ http://ralit.sakura.ne.jp/note/$1 [R=301,L]
RewriteRule ^blog/(.*)$ http://ralit.sakura.ne.jp/blog/$1 [R=301,L]
RewriteRule ^ofuton/(.*)$ http://ralit.sakura.ne.jp/ofuton/$1 [R=301,L]
wwwディレクトリの.htaccessではない(wpディレクトリがホームになっているので)
これで一応解決。例えば、検索でralit.org/note2015/autumn/関数解析(数学4年).pdfをクリックすると、自動的に、http://ralit.sakura.ne.jp/note2015/autumn/関数解析(数学4年).pdfに直してくれる。
WordPressの柔軟な404対策?の方が優先される。
直接ブラウザにralit.org/noteと打ちこんでみると、404が表示される。
これはどうやら、WordPressが、記事URLに"note"を含む記事を探す機能が優先されているからみたい。
たとえば、ralit.org/kyotoと打ち込んでみると、ralit.org/2017/09/03/kyoto-cafe-and-bakery/という記事にリダイレクトされる。
URLを直接打ち込んで来る人や、授業ノートのページをブックマークに登録している人はいなさそうなので、大丈夫だとは思いますが…
.htaccessを編集するのはたぶん強引な方法なので、もっと良い方法を見つけたら報告します。