Убрать .html из ссылки на статью

#1 24 октября 2018 в 16:45
Надо изменить вид ссылок на статьи с site.ru/article.html на site.ru/article. Если в файле router.php заменить
  1.  
  2. $routes[] = array(
  3. '_uri' => '/^content\/(.+).html$/i',
  4. 'do' => 'read',
  5. 1 => 'seolink'
  6. );
  7.  
на
  1.  
  2. $routes[] = array(
  3. '_uri' => '/^content\/(.+)$/i',
  4. 'do' => 'read',
  5. 1 => 'seolink'
  6. );
  7.  
ссылки приобретают требуемый вид, но возникает конфликт, из-за которого невозможно посмотреть содержимое категории.
Также пытался прописать в url_rewrite.php
  1.  
  2. $rules[] = array(
  3. 'source' => '/^(.+).html$/i',
  4. 'target' => '{1}',
  5. 'action' => 'redirect-301'
  6. );
  7.  
Но это не помогает. Что я не так делаю?
#2 24 октября 2018 в 17:08

Но это не помогает. Что я не так делаю?

@hawk1
Если кратко — вы ломаете логику определения типа страницы. И что логично — все ваши адреса рубрик воспринимаются как статьи.
#3 24 октября 2018 в 17:10
Тогда как сделать то что мне нужно?
#4 24 октября 2018 в 17:15
@hawk1, скажите по секрету, зачем вам хочется наоборот? не ищете легких путей?
#5 24 октября 2018 в 17:27


@hawk1, скажите по секрету, зачем вам хочется наоборот? не ищете легких путей?

Kreator
Есть такой документ ТЗ называется.
#6 24 октября 2018 в 17:39
Даже если изменить удастся, возникнут проблемы. Например, с виджетами. В виджете фильтра и списка категорий, например, есть строка

  1. if(strpos(cmsCore::getInstance()->uri, '.html') === false){
и др.
#7 24 октября 2018 в 19:23
@hawk1, да можно так сделать, и даже без внесения изменений в файлы ядра (но много мест, где надо будет сами ссылки поменять, убрать html). Отдельный компонент + перехват хука. Вы ищете готовое решение или нужно только направление куда копать и сами запрограммируете?
#8 7 декабря 2018 в 07:46
нужно то же самое для 1.10.6
копать и пилить умею, нужно только направление))
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.