使用包含ID的网址时如何忽略cHash?

时间:2018-07-10 08:57:18

标签: typo3 tt-news

我正在工作的网站使用cooluri设置网址格式。对于新闻,“ link_cache”表的“ parameters”列中存储的参数如下:

a:3:{s:5:"cHash";s:32:"eea2db734d63b661abaab43d86fd3bb5";s:2:"id";s:5:"15503";s:18:"tx_ttnews[tt_news]";s:6:"142085";}

,或者以更具可读性的方式:

{  
   "cHash":"eea2db734d63b661abaab43d86fd3bb5",
   "id":"15503",
   "tx_ttnews[tt_news]":"142085"
}

我的问题是,有很多页面将这些url插入到内容元素中,如下面的示例所示,当然cHash参数不匹配。

  

website.com/news/some-title/431731b3f9d391a54c9ee48467ca4bb4.html

现在,由于这个原因,我在新闻单视图页面上收到以下错误消息:

  

未提供news_id

是否有解决此问题的干净方法?有人告诉我,不能更改后端中的链接。另外,链接非常旧,选项“ oldlinksvalidfor”设置为365。

1 个答案:

答案 0 :(得分:0)

您的配置进入了代码块。这是Ext:CoolUri的配置。这对我来说很好(使用tt_news),这将从URL中删除cHash。您还具有用于管理缓存和所有内容的其他配置。

<predefinedparts>
    <part>
        <parameter>no_cache</parameter>
    </part>
    <part>
        <parameter>cHash</parameter>
    </part>

<!-- common patterns -->

<!-- parts defined this way will be removed from URL -->
<part>
    <parameter>paramC</parameter>
</part>
<!-- this will prefix a value with "prefix-". Cannot be localized.
-->
<part key="prefix-(.*)" regexp="1">
    <parameter>paramD</parameter>
</part>

<part key="page-(.*)" regexp="1">
    <parameter>array[k5]</parameter>
</part>
<!-- if parameter matches value, key will be added to URL 
with mutliple values, use valuemaps
-->
<part key="thisWillAppearInUrl">
    <parameter>paramE</parameter>
    <value>ifParamEMatcesThisValue</value>
</part>
</predefinedparts>

希望这对您有所帮助。

问候!