エントリーの自動補完リダイレクト機能
リニューアル時やサイト構造変更時などに、記事(エントリー)のカテゴリーやブログが変更になることはよくあることだと思います。 この時そのままだと、以前のURLが404になってしまいます。404にならなためには、.htaccessなどで旧URLから新URLへのリダイレクト処理を書く必要がありますが、記事ごとに毎回設定するのは大変です。
そこで、エントリーの自動補完リダイレクト機能を使用すれば、ブログやカテゴリーが変更になったエントリーでも自動で旧URLから新URLにリダイレクトをしてくれるようになります。
例:ある記事(entry-10.html)のカテゴリが「news」から「topics」に変更になった場合
「https://example.com/news/entry-10.html」にアクセスすると、「https://example.com/topics/entry-10.html」に自動で301リダレクトされます。
有効化の方法
「private/config.system.yaml」に以下記述を追加します。
entry_301_redirect: on
注意事項
リダイレクトは、エントリーコード(xxxx.html)をもとにデータを検索しリダイレクトをかけています。 この仕様により以下3つの注意点があります。
- 以前のカテゴリーを削除してしまうとカテゴリーが 404 エラーになってしまいリダイレクトされません。上記の例の場合 news を残して topics を作成ください。
- エントリーコードを変更した場合は、リダイレクトされない
- 重複するエントリーコードがある場合、どのエントリーにリダイレクトされるかはコントロールできない
Ver. 2.11.0 未満からアップデートしたらHTMLタグが表示されるようになってしまった
Ver. 2.11.0 から 校正オプションの仕様が変わり、校正オプションが指定されている場合も自動でサニタイズ(エスケープ)処理がされるようになりました。 これにより、アップデート後に閲覧画面を表示すると意図していないHTMLがタグのまま表示されてしまう可能性がございます。
詳細・対応方法は以下をご覧ください。
フォームモジュールで、確認画面へ進もうとしてボタンをクリックしても進めない
お問い合わせフォームで、確認画面に進もうとしてもエラーもでず、進めない状況になった場合、何かしらバリデーションで引っ掛かっている可能性があります。
バリデーションを設定する方法は2つあります。1つは、テンプレートで設定する方法と、管理画面で設定する方法です。 テンプレートでバリデーションをかけている場合は、エラーメッセージも同時に記入すると思うので、今回のトラブルの場合は意図していないバリデーションを管理画面に設定している可能性があります。
管理画面でのバリデーション
管理画面 > フォーム > 該当フォームの変更 の「入力チェック・変換」項目に意図しないバリデーションがないかチェックください。