为什么EE解析不存在的URL段?

时间:2018-09-04 08:28:46

标签: parsing url expressionengine segments expressionengine3

我有一个无法解释的问题。我创建了这样的URL:domain.com/lang/segment_1/segment_2/segment_3(segment_3是“ url_title”)。另外,我还结合使用了if语句来避免加载不存在的url(下面的示例)。

{if segment_4}{redirect="404"}{/if}
{if segment_2 != "segment_2"}{redirect="404"}{/if}
{if segment_2 == "segment_2"}
{if segment_4 == ""}

  {exp:channel:entries channel="channel_name" require_entry="yes" url_title="{segment_3}" dynamic="no" limit="1" disable="categories|member_data|pagination"}
    {if no_results}
    {redirect="404"}
    {/if}
    ...
  {/exp:channel}

{/if}
{/if}

一切正常。如果我添加任何segment_4,则将得到预期的404页面。但是……如果我还添加了segment_5(以及以后的segment_6,segment_7),那么我不会得到404页面。而不是那个浏览器尝试加载“东西”,最后我得到了504页(来自CloudFlare)。有趣的事实是,仅当最后一段是“ url_title”时,才出现此问题。

问题是:当添加不存在的段时,为什么我没有获得404页面?我真的很烦,因为我不知道怎么了。

我正在使用EE 3.5.16(已启用严格的URL)。

感谢您的帮助!

0 个答案:

没有答案