【问题标题】:How to ignore cHash when working with urls that contain an id?处理包含 id 的 url 时如何忽略 cHash?
【发布时间】:2023-03-28 02:17:01
【问题描述】:

我正在开发的网站使用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。

【问题讨论】:

    标签: typo3 tt-news


    【解决方案1】:

    您的配置进入该块。这是 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>
    

    希望这对你有帮助。

    您好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-18
      • 2019-07-20
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多