最近、カテゴリやタグの整理をしていました。タグを付けて整理していたものをカテゴリ化していました。大変ありがたいことに、タグのページへの被リンクがあったので、リダイレクトを設定しようと考えました。
しかし、Redirectionを始め、WordPressのプラグインでのリダイレクトがうまくいきませんでした。
今回は、プラグインでのリダイレクトが動作しなかった際に設定した内容についてお話します。
サーバの設定ファイルに直接設定を書けば良いじゃん
そもそもこの作業が面倒で、プラグインなんかに頼っているわけなんですけどね。それが動かないので仕方ありません。これはもう、サーバの設定ファイルを直接書き換えるしかありませんわ。
しかしどうやって?という方におすすめなのが、転送ルールをRedirectionというプラグインで作成しておいて、設定ファイル形式でエクスポートする方法です。
転送ルールを作成する
僕が今回実際に設定した内容がこちらです。これまで「スクールプランニングノート」という単語をタグとして登録していましたが、カテゴリとして扱いたくなったので、カテゴリとして新たに登録しました。タグのURLは日本語のままにしていたので、URLが変わります。それをリダイレクトしようと考えました。
ソースURLに元のURLを設定して、ターゲットURLに転送先のURLを指定しました。
本来なら、これで動くはずなんですけどね、僕の環境下では動きませんでした。なので、次の手です。
nginx形式でエクスポートする
Redirectionのページを開いた時の、上に表示されたメニューから「インポート/エクスポート」に移動すると、設定したリダイレクトの内容をエクスポートできます。
ここでエクスポートする時に、Nginxのリライトルールとして表示をします。
すると、ここにサーバの設定ファイルに記述すべき内容が出てきます。
まぁnginxに詳しい人は、これも普通に自分で書いちゃうんでしょうけどね、僕は「あ、これを貼るだけなんだ。便利だな。」と思えるのでこっちの方が助かります。
あとはこの内容を既存の設定ファイルに追記するだけです。
設定ファイルは特に場所を変更していないなら、「/etc/nginx/conf.d」の中にあると思います。
ちなみに、ApacheでWordPressを動かしている人向けに、.htaccess用の記述もエクスポートできます。このプラグインにはこういう使い方もあったんですね。
感想
本当なら、この作業が嫌でプラグインを頼っているはずです。でも、それが動かない時は仕方ない。別のプラグインを試してもだめなら、サーバの設定ファイルを直接書き換えちゃいましょう。
この方法が、困っている方の助けになりますように。