Артём Мáлков

Как убрать .html в конце адреса статистических страниц в DLE?

14 мар33 комм

Как мы знаем, в DataLife Engine имеется 2 типа страниц – страницы материалов и статистические страницы. Различие между первым и вторым типом – это возможное наличие иерархии категорий и присутствие ID в адресе у страницы материала.

Поскольку со статистической страницей дела обстоят куда проще (они состоят всего лишь из названия страницы и .html на конце), то сейчас я покажу вам, как легко можно убрать конец .html.

1. Сначала необходимо подключиться к вашему сайту по FTP.

2. Далее, в папке сайта, найдите файл .htaccess и откройте его любым текстовым редактором. В нем строку:

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

замените на:

RewriteRule ^([^.]+)/$ index.php?do=cat&category=$1 [L]

Здесь же строки:

RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1&seourl=$2 [L]
RewriteRule ^print:([^/]+).html$ index.php?mod=print&do=static&page=$1&seourl=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1&seourl=$1 [L]

замените на:

RewriteRule ^page,([0-9]+),([^/]+)$ index.php?do=static&page=$2&news_page=$1&seourl=$2 [L]
RewriteRule ^print:([^/]+)$ index.php?mod=print&do=static&page=$1&seourl=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ index.php?do=static&page=$1&seourl=$1 [L]

Сохраните изменения и отправьте файл обратно на сайт.

3. Откройте файл static.php в папке /engine/inc/, найдите строку:

if( $config['allow_alt_url'] ) $vlink = $config['http_home_url'] . $row['name'] . ".html";

Замените ее на:

if($config['allow_alt_url']) {

	$vlink = $config['http_home_url'].$row['name'];
	
}

4. Откройте файл google.class.php в папке /engine/classes/ и строку:

if( $this->allow_url ) $loc = $this->home . $row['name'] . ".html";

Замените ее на:

if($this->allow_url) {

	$loc = $this->home.$row['name'];
	
}

По завершении всех шагов обновите на сайте кэш, а также карту сайта (раздел «Другие разделы», пункт «Карта сайта для Google и Yandex»).

Рекомендуем к просмотру
Редактирование профиля пользователя на отдельной странице в DLE
Посты
Убираем .html, .php и .htm в конце URL-адресов на Apache/Nginx
Статьи и советы
Удаляем префикс category из URL рубрик в WordPress без плагина
Хаки
33
комментария
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 2
    6
      •  Пользователь
    20 июл в 09:01

    проблема с

    <link rel="canonical" href="https://test.goodlogistics.com.ua/tamozhennoe-oformlenie.html">

    <meta property="og:url" content="https://test.goodlogistics.com.ua/tamozhennoe-oformlenie.html">

    Как убрать в canonical и og:url в конце .html ? Помогите пжлста.

    Спасибо!

      • 1
      1066
        •  Команда Pandoge
      20 июл в 23:04

      vlad, подскажите, какая версия DLE у вас?

      • 1
      6
        •  Пользователь
      26 июл в 09:14

      Артём Мáлков, 14.3 (этот вопрос я решил, теперь другая проблема :( )

      Это статическая страница https://test.goodlogistics.com.ua/uk/mutne-oformlennya/

      все работает, но не работает редирект с двойным слеш / или без слеш.

      https://test.goodlogistics.com.ua/uk/mutne-oformlennya//// https://test.goodlogistics.com.ua/uk/mutne-oformlennya

      Вот мой .htaccess - что я не так сделал? ))

      RewriteCond %{REQUEST_FILENAME} !-d

      RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]

      RewriteRule ^blog/?$ index.php?do=cat&category=blog/ [L]

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteRule ^([^.]+)/rss.xml$ index.php?mod=rss&do=cat&category=$1 [L]

      RewriteRule ^page,([0-9]+),([^/]+)/?$ index.php?do=static&page=$2&news_page=$1&seourl=$2 [L]

      RewriteRule ^print:([^/]+)/?$ index.php?mod=print&do=static&page=$1&seourl=$1 [L]

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteRule ^([^/]+)/?$ index.php?do=static&page=$1&seourl=$1 [L]

      • 1
      1066
        •  Команда Pandoge
      27 июл в 03:01

      vlad, было бы здорово, если написали, как именно решили проблему. По второму - постараюсь посмотреть чуть позже.

      • 2
      6
        •  Пользователь
      29 июл в 09:54

      Артём Мáлков, файл static.php в папке inc - там заменить .html и "/" и все :)

      Помогите пжлст с редиректом :(((

      • 1
      6
        •  Пользователь
      2 авг в 09:03

      Артём Мáлков, так как редирект сделать "/" ?

      • 1
      1066
        •  Команда Pandoge
      2 авг в 12:20

      vlad, пока трудно что-то сказать, будь доступ к сайту - было бы проще. А так, у статических страниц не может быть слеша на конце, т.к. слеш - особенность категорий и по идее, ваша строка

      RewriteRule ^([^/]+)/?$ index.php?do=static&page=$1&seourl=$1 [L]

      должна быть заменена на

      RewriteRule ^([^/]+)$ index.php?do=static&page=$1&seourl=$1 [L]
      • 1
      6
        •  Пользователь
      2 авг в 17:47

      Артём Мáлков, если так сделать, то без "/" не работает вообще :(

      • 1
      1066
        •  Команда Pandoge
      3 авг в 00:21

      vlad, без слеша не открывается статическая страница?

      • 1
      6
        •  Пользователь
      3 авг в 17:22

      Артём Мáлков, открывается, с слешем не открывается.

      Мне нужно что бы с слешем открывалось (это я сделал) и редирект работал без / на с /

      • 1
      1066
        •  Команда Pandoge
      4 авг в 03:07

      vlad, наверно лучше (и быстрее) будет прислать доступы от сайта

    • 1
    4
      •  Пользователь
    6 апр в 21:51

    Артём, как сделать что бы в конце названия статической странице отображалось "/" Пример: https://сайт/csdownload/ после вашего кода статические страницы отображаются вот так https://сайт/csdownload но мне нужен именно как на примере, буду рад если вы мне поможете так как я новичок и только познаю основы. Заранее спасибо ! smiley

      • 1
      1066
        •  Команда Pandoge
      9 апр в 00:42

      Максим Каретников, по-простому - никак. Слеш на конце - это признак категории.

      • 1
      4
        •  Пользователь
      9 апр в 12:20

      Артём Мáлков, есть ещё вопрос у меня проблема двоятся картинки при публикации как исправить ?

      • 1
      1066
        •  Команда Pandoge
      14 апр в 01:56

      Максим Каретников, нужно больше подробностей. Какая версия CMS, скрин с дублями изображений.

      • 1
      4
        •  Пользователь
      17 апр в 21:05

      Артём Мáлков, dle 14.1 у меня есть плагин который выводит загружённые картинки в галерею, но при этом в галерею выводится картинка привью, постера, а мне надо что бы картинки привью и с постера не выводились в галерею !

      • 1
      1066
        •  Команда Pandoge
      18 апр в 01:02

      Максим Каретников, такие вопросы лучше адресовать автору плагина.

      • 1
      4
        •  Пользователь
      18 апр в 19:14

      Артём Мáлков, если бы я знал данного человека у него бы, и спросил, но плагин шёл вместе шаблоном так что хз кто этот человек )

      • 1
      1066
        •  Команда Pandoge
      19 апр в 00:12

      Максим Каретников, пришлите на почту или в ВК доступы, посмотрим в чем дело.

    • 3
    1
      •  Пользователь
    20 мар в 15:38

    Автор! Огромное спасибо! На версии DLE 13.2 работает отлично!

    • 1
    1
      •  Пользователь
    5 янв в 00:39

    Hi, this trick dle doesn't work at 13.3. Can you help? I did everything right

      • 2
      1066
        •  Команда Pandoge
      7 янв в 04:29

      Mehmet Gun, Hello!

      I'm sorry for the late reply. Checked - everything works without problems, at least at 13.2.

      So I recommend repeating everything again carefully.

    • 1
    11
      •  Проверенный
    22 июн в 00:46

    А как сделать чтобы в конце была ссылка / ?

    Если мы заменяем .html везде на /

    То не работает.

    Если удаляем

    RewriteRule ^([^.]+)/$ index.php?do=cat&category=$1 [L]

    То работает.

    Но тогда не работают категории. Как можно это решить ?

      • 1
      1066
        •  Команда Pandoge
      22 июн в 15:23

      vG, навскидку - не как. Потому что / - это признак категорий. Можно конечно на PHP попробовать решить эту задачу, но без доступов не смогу помочь.

    • 1
    766
      •  Гости
    10 мая в 20:01

    На последней версии DLE тоже самое проделал, работает но с точкой на конце.. как исправить подскажите чтобы ровно работало? =)

      • 1
      1066
        •  Команда Pandoge
      11 мая в 01:40

      Илья, можно пару примеров ссылок? Посмотрю что к чему.

    • 2
    766
      •  Гости
    25 мар в 13:45

    Вот как избавиться вообще от html ссылки и оставить только типа: http://site.ru/категория/01 (где цифры в конце - это ID новости) ?

    • 1
    766
      •  Гости
    6 фев в 16:02

    Только вот не работает это) после всех этих действий страница грузится только с точкой на конце

      • 7
      1066
        •  Команда Pandoge
      6 фев в 21:00

      Андрей, скрипт рабочий на 100% и он подходит только для статистический страниц движка.

      • 0
      766
        •  Гости
      7 фев в 14:36

      У меня DLE 11.2 не работает да и не может оно работать, обработчик определяет её как категорию и пишет что нет страницы, скопировал откуда-то молодец, проверь хоть на работоспособность, потом утверждай.

      • 9
      1066
        •  Команда Pandoge
      7 фев в 17:13

      Андрей, "скопировал откуда-то молодец" - я бы на Вашем месте подумал, прежде чем писать здесь всякую чушь.

      Этот способ придуман лично мной, проверен на версии 10.6 - и на нем проблем не обнаружено.

      • 12
      1066
        •  Команда Pandoge
      7 фев в 17:18

      Андрей, напишите через группу в ВК ваш сайт и доступы к нему, посмотрим, что там у Вас не работает.

      • 12
      1066
        •  Команда Pandoge
      7 фев в 17:21

      Андрей, а так, не делая глобальных изменений, редирект можно сделать через htaccess:

      RewriteRule ^about_us$ index.php?do=static&page=about_us[L]

      Вставлять лучше сразу после RewriteEngine On.

      about_us - адрес статистической страницы.

Подняться наверх
«Pandoge» - помощник вебмастера