最后一个段丢失时重定向

use*_*143 6 expressionengine

我有一个输入网址结构,如:

www.site.com/template_group/template_1/entry_id

但我希望它是:

www.site.com/template_group/template_1/entry_id/url_title.

Entry_id将是提供exp:channel:entries的段.如何将www.site.com/template_group/template_1/entry_id重定向到www.site.com/template_group/template_1/entry_id/url_title.

非常感谢!

mad*_*ppo 12

像下面这样的东西应该工作 - 它没有经过测试,但它会让你很好地了解如何继续前进.

{if segment_4==""}
{exp:channel:entries channel="x" limit="1" dynamic="no" entry_id="{segment_3}"}
    {redirect="template_group/template_1/{entry_id}/{url_title}"}
{/exp:channel:entries}
{/if}
Run Code Online (Sandbox Code Playgroud)


jan*_*nvl 5

把它放在模板的最顶层:

{if segment_4 == ""}
   {exp:channel:entries channel="channel_goes_here" entry_id="{segment_3}"}
       {redirect="{site_url}/{segment_1}/{segment_2}/{segment_3}/{url_title}
   {/exp:channel:entries}
{/if}
Run Code Online (Sandbox Code Playgroud)

这将检查您是否设置了第四个段,如果没有,它将包含您的entry_id的第三个段,将其提供给channel entries标签,该标签返回您需要的url_title.使用此url_title,您可以轻松地重定向到正确的页面.