テンプレート404リダイレクト

テンプレートグループが見つからない場合は、不正なURLで404を表示するだけでなく、特定の404ページにリダイレクトすることが可能かどうか知っていますか?

例えば、

私が example.com/nonexistant-templategroup/に行った場合、/nonexistant-templategroup/のままではなく example.com/404/ は404テンプレートを表示します。

乾杯

2

1 答え

あなたは次のことを行うことでそれを達成することができます:

  1. Make a template group called 404.group and in that template group create an index.html template (this will be your 404 template)
  2. Set "Enable Strict URLs" to "Yes" in your Global Template Preferences
  3. For the "404 Page" setting choose "404/index" (the template you created in step 1 above), again in your Global Template Preferences
  4. In 404.gorup/index.html put the following conditional

    {if segment_1 != "404" OR segment_2 != ""}
        {redirect="404/index"}
    {/if}
    

これにより、404が起動され、404のテンプレートが表示されると、さらに/404 vanity 404 URLにリダイレクトされます。

しかし、これにはいくつかの潜在的な欠点があります。

  • You won't have a record of these 404 URLs in Google Analytics so that you can see what URLs are erroring.
  • The http status will not actually be 404, but 302 (redirect). You could get around this by using the HTTP Header plugin and deliberately setting the status with {exp:http_header status="404"}
3
追加された
どういたしまして!
追加された 著者 Matt MacLean,
それは完璧な感謝です!私は実際にはステップ4とは別にすべてのことをしていました、それはパズルの欠けている部分でした。
追加された 著者 andyhky,