Как игнорировать cHash при работе с URL-адресами, содержащими идентификатор?

Веб-сайт, над которым я работаю, использует cooluri для форматирования URL-адресов. В случае с новостями столбец «parameters» таблицы «link_cache» хранит такие параметры:

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 не совпадают.

веб-сайт.com/news/some-title/431731b3f9d391a54c9ee48467ca4bb4.html

Теперь из-за этого я получаю следующее сообщение об ошибке на странице одиночного просмотра новостей:

не указан news_id

Есть ли чистый способ решить эту проблему? Мне сказали, что менять ссылки в бэкенде не вариант. Кроме того, ссылки очень старые, а параметр «oldlinksvalidfor» установлен на 365.


person csba    schedule 10.07.2018    source источник


Ответы (1)


Ваша конфигурация идет в блоке. Вот конфигурация для Ext:CoolUri. У меня это работает нормально (с tt_news), это удалит cHash из URL. У вас есть дополнительная конфигурация для управления кэшированием и всем остальным.

<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>

Надеюсь, это будет полезно для вас.

Привет!

person GNB    schedule 11.07.2018