Как изменить чпу на сайте dle

Мне нужно тип ЧПУ вида: http:site.ruимя новости Если посмотреть на то что сейчас есть в ДЛЕ: http:site.ruid-имя новости.html То видно, что я бы хотел убрать окончание: .html И убрать ай-ди

Как изменить тип ЧПУ на свой


 papeion  
 08.12.2013  
 ЧПУ  
 Все вопросы » Общие вопросы по PHP  
 6350

вопрос

Мне нужно тип ЧПУ вида:

http://site.ru/имя новости

Если посмотреть на то что сейчас есть в ДЛЕ:

http://site.ru/id-имя

новости.html
То видно, что я бы хотел убрать окончание: .html
И убрать ай-ди новости: id-

Слышал, что это делается в файле .htaccess
Поэтому мне подумалось, а что если в нём просто удалить .html
Ещё не пробовал, т.е. не знаю, как убрать ай-ди

Подскажите, как правильно.

Ответа пока нет


7 комментариев

Похожие вопросы

Последние события


  • События
  • Заказы
  • Модули
  • Фото korolev

    korolev
    Почему миниатюры фотографий из доп поля «Галерея» меньше указанных?
    Вчера, 18:43


    Всё знать невозможно и лучше ошибиться, спросить и запомнить, чем оставить проблему.

    А можно чуть подробнее? В каком классе 87х80?

  • Фото LazyDev

    LazyDev
    Почему миниатюры фотографий из доп поля «Галерея» меньше указанных?
    Вчера, 18:08


    У вас размер прописан в css, рендерится картинка 87х80, фактический размер 300х169
    Странно этого не знать, человеку занимающимся web разработкой.

  • Фото dj-avtosh

    dj-avtosh
    Не подключается файл php через include в шаблоне .tpl ?
    9-02-2023, 18:13


    у хостера спросите

  • Фото alex2lp

    alex2lp
    Не подключается файл php через include в шаблоне .tpl ?
    9-02-2023, 16:51


    У меня в панели администрирования сайта есть такие логи: .error.log и .access.log

  • Фото dj-avtosh

    dj-avtosh
    Не подключается файл php через include в шаблоне .tpl ?
    9-02-2023, 16:48


    это не то, ищите FATAL-логи

  • Фото alex2lp

    alex2lp
    Не подключается файл php через include в шаблоне .tpl ?
    9-02-2023, 16:34


    [Thu Feb 09 10:08:23.724850 2023] [core:info] [pid 3549553] [client IP:PORT] AH00128: File does not exist: /var/www/user0/data/www/site.by/guru-include/public/css/style.css, referer: http://site.by/onlines.html
    [Thu Feb 09 10:08:23.731598 2023] [core:info] [pid 3529275] [client IP:PORT] AH00128: File does not exist: /var/www/user0/data/www/site.by/guru-include/public/js/app.js, referer: http://site.by/onlines.html
    [Thu Feb 09 10:08:23.734995 2023] [core:info] [pid 3544522] [client IP:PORT] AH00128: File does not exist: /var/www/user0/data/www/site.by/guru-include/public/js/scripts.js, referer: http://site.by/onlines.html
  • Фото dj-avtosh

    dj-avtosh
    Не подключается файл php через include в шаблоне .tpl ?
    9-02-2023, 14:20


    Никто не умеет гадать — смотрите в логи сервера почему 500

  • Фото Slavchik

    Slavchik
    Разрешения на BBcode по группам при добавлении новости с сайта — модуль GroupBBcode
    9-02-2023, 14:07


    del

  • Фото eXtErNaL

    eXtErNaL
    Сделать модуль для загрузки документов с электронной подписью
    8-02-2023, 18:19


  • Фото 1191

    1191
    Сделать модуль для загрузки документов с электронной подписью
    8-02-2023, 17:42


    Загружаются PDF файлы, они подписаны электронной подписью, в этой подписи есть все эти поля.

  • Сделать модуль для загрузки докум… 3
  • Парсер информации с кинопоиска 1
  • Лимит на скачивание файлов 2
  • Сделать чат с информером 0
  • В зависимости от страны пользоват… 5
  • Генерировать случайный уникальный… 0
  • У доп поля тип Список в некоторых… 1
  • DLE 13.2+ модуль вопрос-ответ 5
  • Добавление, редактирование новост… 0
  • DLE 14 + Сторонний php скрипт (+н… 2
  • Разрешения на BBcode по группам п… 1
  • Ajax search template 0
  • Index post 0
  • Extended category menu 0
  • Постраничная Ajax навигация для т… 0
  • Who rated | Список пользователей … 0
  • Who download | Список пользовател… 0
  • Защищенная ссылка для аттачментов… 0
  • DLE Dynamic xField 0
  • DLE xField Tab PRO 0

Страница 1 из 2

  1. 1526531236_nginx-1.png

    Как известно сервер под управлением Apache не является оптимальным решением для создания высокопосещаемых проектов, и по мере роста посетителей сайта, потребление памяти сервером также растет в геометрической прогрессии. Поэтому при оптимизации серверного ПО очень часто прибегают к установке связки из легкого кеширующего сервера Nginx как фронтсервера и Apache как бэксервера. Данная связка позволяет существенно сократить расход памяти и увеличить быстродействие работы сервера. Однако существует еще более производительное решение, и это установка сервера Nginx как единственного standalone сервера, при этом Apache полностью убирается из системы, что позволяет добиться еще большей производительности. Единственной проблемой при работе с DLE такой системы, это несовместимость стандартных правил ЧПУ в файле .htaccess, которые прописаны для Apache. Поэтому если вы решите ставить Nginx как отдельный единственный сервер, мы предлагаем вам скачать правила написанные для Nginx.

    Правила предназначены для версии: DataLife Engine 13.0.

    # Редиректы
    rewrite "^/page/([0-9]+)(/?)$" /index.php?cstart=$1 last;
    
    # Сам пост
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$" /index.php?mod=print&subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last;
    
    rewrite "^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 last;
    rewrite "^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 last;
    rewrite "^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?mod=print&news_page=$2&newsid=$3&seourl=$4&seocat=$1 last;
    rewrite "^/([^.]+)/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&seourl=$3&seocat=$1 last;
    
    rewrite "^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 last;
    rewrite "^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&news_page=$1&seourl=$3 last;
    rewrite "^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?mod=print&news_page=$1&newsid=$2&seourl=$3 last;
    rewrite "^/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$1&seourl=$2 last;
    
    # За день
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2&day=$3 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&day=$3&cstart=$4 last;
    
    # За весь месяц
    rewrite "^/([0-9]{4})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&cstart=$3 last;
    
    # Вывод за весь год
    rewrite "^/([0-9]{4})(/?)+$" /index.php?year=$1 last;
    rewrite "^/([0-9]{4})/page/([0-9]+)(/?)+$" /index.php?year=$1&cstart=$2 last;
    
    # вывод отдельному тегу
    rewrite "^/tags/([^/]*)(/?)+$" /index.php?do=tags&tag=$1 last;
    rewrite "^/tags/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=tags&tag=$1&cstart=$2 last;
    
    # поиск по доп полям
    rewrite "^/xfsearch/(.*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last;
    rewrite "^/xfsearch/(.*)(/?)+$" /index.php?do=xfsearch&xf=$1 last;
    
    # вывод для отдельного юзера
    rewrite "^/user/([^/]*)/rss.xml$" /index.php?mod=rss&subaction=allnews&user=$1 last;
    rewrite "^/user/([^/]*)(/?)+$" /index.php?subaction=userinfo&user=$1 last;
    rewrite "^/user/([^/]*)/page/([0-9]+)(/?)+$" /index.php?subaction=userinfo&user=$1&cstart=$2 last;
    rewrite "^/user/([^/]*)/news(/?)+$" /index.php?subaction=allnews&user=$1 last;
    rewrite "^/user/([^/]*)/news/page/([0-9]+)(/?)+$" /index.php?subaction=allnews&user=$1&cstart=$2 last;
    rewrite "^/user/([^/]*)/news/rss.xml(/?)+$" /index.php?mod=rss&subaction=allnews&user=$1 last;
    
    # вывод всех последних новостей
    rewrite "^/lastnews(/?)+$" /index.php?do=lastnews last;
    rewrite "^/lastnews/page/([0-9]+)(/?)+$" /index.php?do=lastnews&cstart=$1 last;
    
    # вывод в виде каталога
    rewrite "^/catalog/([^/]*)/rss.xml$" /index.php?mod=rss&catalog=$1 last;
    rewrite "^/catalog/([^/]*)(/?)+$" /index.php?catalog=$1 last;
    rewrite "^/catalog/([^/]*)/page/([0-9]+)(/?)+$" /index.php?catalog=$1&cstart=$2 last;
    
    # вывод непрочитанных статей
    rewrite "^/newposts(/?)+$" /index.php?subaction=newposts last;
    rewrite "^/newposts/page/([0-9]+)(/?)+$" /index.php?subaction=newposts&cstart=$1 last;
    
    # вывод избранных статей
    rewrite "^/favorites(/?)+$" /index.php?do=favorites last;
    rewrite "^/favorites/page/([0-9]+)(/?)+$" /index.php?do=favorites&cstart=$1 last;
    
    rewrite "^/rules.html$" /index.php?do=rules last;
    rewrite "^/statistics.html$" /index.php?do=stats last;
    rewrite "^/addnews.html$" /index.php?do=addnews last;
    rewrite "^/rss.xml$" /index.php?mod=rss last;
    rewrite "^/sitemap.xml$" /uploads/sitemap.xml last;
    
    if (!-d $request_filename) {
            rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last;
            rewrite "^/([^.]+)/?$" /index.php?do=cat&category=$1 last;
    }
    
    if (!-f $request_filename) {
            rewrite "^/([^.]+)/rss.xml$" /index.php?mod=rss&do=cat&category=$1 last;
            rewrite "^/page,([0-9]+),([^/]+).html$" /index.php?do=static&page=$2&news_page=$1 last;
            rewrite "^/print:([^/]+).html$" /index.php?mod=print&do=static&page=$1 last;
    }
    
    if (!-f $request_filename) {
            rewrite "^/([^/]+).html$" /index.php?do=static&page=$1 last;
    }
    • Нравится Нравится x 3


  2. enjekt

    Регистрация:
    31 июл 2016
    Сообщения:
    107
    Лучших ответов:
    1
    Рейтинги:
    +19
    /

    2
    /

    -0


  3. shturval

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10
    /

    3
    /

    -0

    Короче фигня какая-то. В корне .htaccess оставил без изменений.

    DirectoryIndex index.php
    
    RewriteEngine On
    
    RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]
    
    # Пост
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ index.php?mod=print&subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]
    
    RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
    RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
    RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ index.php?mod=print&news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
    RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]
    
    RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]
    RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]
    RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ index.php?mod=print&news_page=$1&newsid=$2&seourl=$3 [L]
    RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]
    
    # За день
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]
    
    # За весь месяц
    RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]
    
    # За весь год
    RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]
    RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
    
    # По отдельному тегу
    RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [B,L]
    RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [B,L]
    
    # Поиск по доп полям
    RewriteRule ^xfsearch/(.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [B,L]
    RewriteRule ^(rip)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(rip)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(year)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(year)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(year-films)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(year-films)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(country)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(country)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(voice)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(voice)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(genre)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(genre)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(collections)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(collections)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(producer)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(producer)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(actors)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(actors)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(ru-fo-films)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(ru-fo-films)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(ru-fo-serials)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(ru-fo-serials)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^(videotype)/([^/]*)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2 [B,L]
    RewriteRule ^(videotype)/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xn=$1&xf=$2&cstart=$3 [B,L]
    RewriteRule ^xfsearch/(.*)/?$ index.php?do=xfsearch&xf=$1 [B,L]
    
    # Вывод для отдельного юзера
    RewriteRule ^user/([^/]*)/rss.xml$ index.php?mod=rss&subaction=allnews&user=$1 [L]
    RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
    RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]
    RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
    RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]
    RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ index.php?mod=rss&subaction=allnews&user=$1 [L]
    
    # Вывод всех последних новостей
    RewriteRule ^lastnews(/?)+$ index.php?do=lastnews [L]
    RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
    
    # Вывод в виде каталога
    RewriteRule ^catalog/([^/]*)/rss.xml$ index.php?mod=rss&catalog=$1 [L]
    RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]
    RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]
    
    # Вывод непрочитанных статей
    RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
    RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]
    
    # Вывод избранных статей
    RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
    RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]
    
    RewriteRule ^rules.html$ index.php?do=rules [L]
    RewriteRule ^statistics.html$ index.php?do=stats [L]
    RewriteRule ^addnews.html$ index.php?do=addnews [L]
    RewriteRule ^rss.xml$ index.php?mod=rss [L]
    RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
    RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^.]+)/rss.xml$ index.php?mod=rss&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]

    А хостеру дал вот это, чтобы добавил в конфиг nginx

    # Редиректы
    rewrite "^/page/([0-9]+)(/?)$" /index.php?cstart=$1 last;
    
    # Сам пост
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$" /index.php?mod=print&subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last;
    
    rewrite "^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 last;
    rewrite "^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 last;
    rewrite "^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?mod=print&news_page=$2&newsid=$3&seourl=$4&seocat=$1 last;
    rewrite "^/([^.]+)/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&seourl=$3&seocat=$1 last;
    
    rewrite "^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 last;
    rewrite "^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&news_page=$1&seourl=$3 last;
    rewrite "^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?mod=print&news_page=$1&newsid=$2&seourl=$3 last;
    rewrite "^/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$1&seourl=$2 last;
    
    # За день
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2&day=$3 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&day=$3&cstart=$4 last;
    
    # За весь месяц
    rewrite "^/([0-9]{4})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2 last;
    rewrite "^/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&cstart=$3 last;
    
    # Вывод за весь год
    rewrite "^/([0-9]{4})(/?)+$" /index.php?year=$1 last;
    rewrite "^/([0-9]{4})/page/([0-9]+)(/?)+$" /index.php?year=$1&cstart=$2 last;
    
    # вывод отдельному тегу
    rewrite "^/tags/([^/]*)(/?)+$" /index.php?do=tags&tag=$1 last;
    rewrite "^/tags/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=tags&tag=$1&cstart=$2 last;
    
    # поиск по доп полям
    rewrite "^/xfsearch/(.*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last;
    rewrite "^/xfsearch/(.*)(/?)+$" /index.php?do=xfsearch&xf=$1 last;
    
    # вывод для отдельного юзера
    rewrite "^/user/([^/]*)/rss.xml$" /index.php?mod=rss&subaction=allnews&user=$1 last;
    rewrite "^/user/([^/]*)(/?)+$" /index.php?subaction=userinfo&user=$1 last;
    rewrite "^/user/([^/]*)/page/([0-9]+)(/?)+$" /index.php?subaction=userinfo&user=$1&cstart=$2 last;
    rewrite "^/user/([^/]*)/news(/?)+$" /index.php?subaction=allnews&user=$1 last;
    rewrite "^/user/([^/]*)/news/page/([0-9]+)(/?)+$" /index.php?subaction=allnews&user=$1&cstart=$2 last;
    rewrite "^/user/([^/]*)/news/rss.xml(/?)+$" /index.php?mod=rss&subaction=allnews&user=$1 last;
    
    # вывод всех последних новостей
    rewrite "^/lastnews(/?)+$" /index.php?do=lastnews last;
    rewrite "^/lastnews/page/([0-9]+)(/?)+$" /index.php?do=lastnews&cstart=$1 last;
    
    # вывод в виде каталога
    rewrite "^/catalog/([^/]*)/rss.xml$" /index.php?mod=rss&catalog=$1 last;
    rewrite "^/catalog/([^/]*)(/?)+$" /index.php?catalog=$1 last;
    rewrite "^/catalog/([^/]*)/page/([0-9]+)(/?)+$" /index.php?catalog=$1&cstart=$2 last;
    
    # вывод непрочитанных статей
    rewrite "^/newposts(/?)+$" /index.php?subaction=newposts last;
    rewrite "^/newposts/page/([0-9]+)(/?)+$" /index.php?subaction=newposts&cstart=$1 last;
    
    # вывод избранных статей
    rewrite "^/favorites(/?)+$" /index.php?do=favorites last;
    rewrite "^/favorites/page/([0-9]+)(/?)+$" /index.php?do=favorites&cstart=$1 last;
    
    rewrite "^/rules.html$" /index.php?do=rules last;
    rewrite "^/statistics.html$" /index.php?do=stats last;
    rewrite "^/addnews.html$" /index.php?do=addnews last;
    rewrite "^/rss.xml$" /index.php?mod=rss last;
    rewrite "^/sitemap.xml$" /uploads/sitemap.xml last;
    
    if (!-d $request_filename) {
            rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last;
            rewrite "^/([^.]+)/?$" /index.php?do=cat&category=$1 last;
    }
    
    if (!-f $request_filename) {
            rewrite "^/([^.]+)/rss.xml$" /index.php?mod=rss&do=cat&category=$1 last;
            rewrite "^/page,([0-9]+),([^/]+).html$" /index.php?do=static&page=$2&news_page=$1 last;
            rewrite "^/print:([^/]+).html$" /index.php?mod=print&do=static&page=$1 last;
    }
    
    if (!-f $request_filename) {
            rewrite "^/([^/]+).html$" /index.php?do=static&page=$1 last;
    }
    
    location / {
     try_files $uri $uri/ /index.html;
     }

    На данный момент сайт работает как и работал. Но вот ссылки типа https: //site.ru/genre/Боевик/ не работают, выкидывает на 404 Not Found nginx (а так же категории ссылки не работают)
    А вот так работают https: //site.ru/genre/Боевик
    Теперь вопрос, как перелинковку изменить в DLE в полях?, т.е. чтобы на конце не было слеша /

    А еще в журнале ошибки иногда типа:

    img-2020-01-17-23-47-31.png

    Боты получают ошибку

    img-2020-01-17-23-49-471111.png


  4. shturval

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10
    /

    3
    /

    -0

    Видимо хостер только что прописал в конфиг.
    Теперь не работают ссылки вида
    Site.ru.ру/films/
    Site.ru/year/2019/
    Но уже пишет хоть что-то, что публикация не найдена.

    SmartSelect_20200118-094902_Chrome.jpg

    Ребят, что делать? У всех же думаю трафик большой, и скорее всего вы настраивали.
    Что примерно должно быть в файле htaccess?


  5. shturval

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10
    /

    3
    /

    -0

    Короче вернул обратно Apache. Вообще ничего не работало. Только домен. Папки открыты, на фильм нажимаешь, в итоге белый экран. Ошибка. Сайт выполнил переадресацию много раз. Удалите куки.
    Ну его.


  6. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    7.054
    Лучших ответов:
    6
    Рейтинги:
    +2.028
    /

    141
    /

    -0

    nginx хатс не понимает, там конфиг, находится он тут /etc/nginx/conf.d
    Это если у тебя панель ISPmanager, а если веста хз где, надо в сети почитать. Я и на апаче 50 -100к юзаю, сайт подвисает иногда


  7. shturval

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10
    /

    3
    /

    -0

    Сколько ram и cpu у тебя на сервере?


  8. evgfreeman

    VIP Кинотрафик v2

    Регистрация:
    26 апр 2016
    Сообщения:
    3.071
    Лучших ответов:
    7
    Рейтинги:
    +1.342
    /

    163
    /

    -0

    Romantv это твой сервак выдерживает еле до 100к?)


  9. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    7.054
    Лучших ответов:
    6
    Рейтинги:
    +2.028
    /

    141
    /

    -0

    Больше максимум 150к было, держал, но виснет, буду ядро докупать


  10. enjekt

    Регистрация:
    31 июл 2016
    Сообщения:
    107
    Лучших ответов:
    1
    Рейтинги:
    +19
    /

    2
    /

    -0


  11. michania

    Регистрация:
    2 ноя 2016
    Сообщения:
    144
    Лучших ответов:
    2
    Рейтинги:
    +32
    /

    2
    /

    -0

    Romantv Тоже использую, хороший метод для снижения нагрузки.

    Не знаешь как добавить в админку кнопку для очистки папки с кешем?


  12. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    7.054
    Лучших ответов:
    6
    Рейтинги:
    +2.028
    /

    141
    /

    -0

    Или так

    Найти в index.php

    define ( ‘DATALIFEENGINE’, true );

    Выше добавить

    ////////////////////////////////////Файловое кэширование/////////////////////////////////////
    if( $_SESSION[‘dle_user_id’] == false && $_SERVER[‘REQUEST_METHOD’] == «GET» )
    {
    $fcache = $_SERVER[‘DOCUMENT_ROOT’] . ‘/engine/cache/‘ . md5( $_SERVER[‘REQUEST_URI’] ) . ‘.html’;
    if ( file_exists( $fcache ) && filemtime( $fcache ) > time() — 3600*3 ) exit( file_get_contents( $fcache ) );
    }
    /////////////////////////////////////////////////////////////////////////////////////////////

    Находим в файле /engine/modules/main.php — в самом низу

    GzipOut();

    Вставляем выше:

    ///////////////////////////////Файловое кэширование//////////////////////////////
    if( $_SESSION[‘dle_user_id’] == false && $_SERVER[‘REQUEST_METHOD’] == «GET» )
    file_put_contents( $fcache, ob_get_contents() );
    /////////////////////////////////////////////////////////////////////////////////
    Стандартный будет очищать

    • Нравится Нравится x 1


  13. michania

    Регистрация:
    2 ноя 2016
    Сообщения:
    144
    Лучших ответов:
    2
    Рейтинги:
    +32
    /

    2
    /

    -0

    Romantv Благодарю!

    Что-то сам не допер путь сменить, все намного проще оказалось.


  14. ROMA15kr

    Регистрация:
    26 фев 2016
    Сообщения:
    2
    Лучших ответов:
    0
    Рейтинги:
    +0
    /

    0
    /

    -0

    Прошу прощения за дополнительный вопрос по хостингу, а не по теме — не могли бы вы еще подсказать в какой юрисдикции (там ведь их много — Сингапур, Австралия, Польша, Германия, Франция и т.п.) вы обычно берете VPS у этого сервиса?
    Буду благодарен за ответ.

Страница 1 из 2

ЧПУ и настройка DataLife Engine

FAQ (полезная справка): ЧПУ и настройка DataLife Engine, в настройках админ панели скрипта можно подключить (Человека понятный УРЛ или ЧПУ ссылки), рекомендуется использовать ЧПУ, так как поисковики хорошо относятся к сайтам с такими ссылками и меньше будет ошибок с неверными УРЛ.

В DataLife Engine можно применить или отключить в работе площадки вывод новостей с помощью ЧПУ (человеко-понятный URL). Включенный ЧПУ улучшает индексации площадки в поисковых системах, вид ссылки будет более качественный, количество посетителей будет расти с поисковых систем, так как темы статьи или любой другой текст будет понятен для людей в поле для URL браузера.

Внимание! Работать будет ЧПУ при установленном на вашем сервер модуль modrewrite, как правило на всех хостингах он включен по умолчанию. Если он не установлен или Ваш сервер не поддерживает, система сообщит Вам об этом, можно обратиться в тех службу хостинга, чтобы отключить или подключить эту функцию.

Dle шаблоны *.tpl об всех файлах подробно

Если вы хотите отключить эту функцию, вам необходимо обязательно удалить с корневого каталога файл .htaccess и при установке скрипта отключить поддержку этой функции. Для более корректной работы ЧПУ мы рекомендуем устанавливать скрипт в корневую папку вашего сайта.

FAQ: ЧПУ и настройка DataLife Engine

При включенном ЧПУ ссылки будут имеют следующий вид:
Полная новость с использованием ЧПУ зависит от типа ЧПУ установленного в настройках скрипта

http://website/index.php?newsid=1234543 — без использования ЧПУ

Добавление новостей на сайт вашими посетителями с использованием ЧПУ и без ЧПУ

http://website/addnews.html — с применением ЧПУ

http://website/index.php?do=addnews — без применением ЧПУ

Профиль пользователя с использованием ЧПУ и без ЧПУ

http://website/user/имя пользователя/ — с применением ЧПУ

http://website/index.php?subaction=userinfo&user= имя — без применением ЧПУ

Регистрация на сайте

http://website/index.php?do=register — без применением ЧПУ

Обзор непрочитанных сообщений с использованием ЧПУ и без ЧПУ

http://website/newposts/ — с применением ЧПУ

http://website/index.php?subaction=newposts — без применением ЧПУ

Вывод всех новостей с использованием ЧПУ и без ЧПУ

http://website/lastnews/ — с применением ЧПУ

http://website/index.php?do=lastnews — без применением ЧПУ

Вывод всех новостей указанной категории с использованием ЧПУ и без ЧПУ

http://website/альтернативное имя категории/ — с применением ЧПУ

http://website/index.php?do=cat&category=альтернативное имя — без применением ЧПУ

Вывод всех новостей за 2020 год с использованием ЧПУ и без ЧПУ

http://website/2020/ — с применением ЧПУ

http://website/index.php?year=2020 — без применением ЧПУ

Вывод всех новостей за указанный месяц с использованием ЧПУ и без ЧПУ

http://website/2020/12/ — с применением ЧПУ

http://website/index.php?year=2020&month=04 — без применением ЧПУ

Вывод всех новостей за указанный день с использованием ЧПУ и без ЧПУ

http://website/2020/12/01/ — с применением ЧПУ

http://website/ index.php?year=2020&month=04&day=30 — без применением ЧПУ

Обратная связь с администрацией сайта и другими участниками

http://website/index.php?do=feedback

Каталог сайта (сортировка по символьному коду) с использованием ЧПУ и без ЧПУ

http://website/catalog/a/ — с применением ЧПУ

http://website/index.php?catalog=а — без применением ЧПУ

Вывод облака тегов с использованием ЧПУ и без ЧПУ

http://website/tags/ — с применением ЧПУ

http://website/index.php?do=tags — без применением ЧПУ

Правила сайта с использованием ЧПУ и без ЧПУ

http://website/rules.html — с применением ЧПУ

http://website/index.php?do=rules — без применением ЧПУ

Данная информация будет полезна для добавления ссылок для переходов в разделы из меню сайта. Ссылки для контента, всех публикаций и категорий вам нужно будет добавить самостоятельно в дизайн вашей страницы.

  • 80

Использование ЧПУ (человекопонятных URL) одинаково важно для удобства пользователей и продвижения сайта в поисковых системах. В системе DataLife Engine для получения красивых ссылок предусмотрены встроенные возможности, нет необходимости устанавливать дополнительные плагины.

Разница между адресами со включенным и выключенным ЧПУ

Включение ЧПУ делает адреса более понятными для человека. По ним становится понятна структура сайта. Без ЧПУ адреса выглядят громоздко. Например, без включения этой опции адрес профиля пользователя будет выглядеть так:

http://mousedc.ru/index.php?subaction=userinfo&user=логин

Включение человекопонятных URL сделает адрес профиля таким:

http://mousedc.ru/user/логин/

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

Настройки ЧПУ

Для включения ЧПУ нужно сначала открыть панель администратора. Затем в левом меню нужно нажать левой кнопкой мыши на строку «Настройки скрипта», в открывшемся меню выбрать пункт «Настройки системы». Необходимые настройки находятся во вкладке «Общие».

Включение и настройка ЧПУ в DataLife Engine

В поле «Включить ЧПУ» надо переключить флажок на значение «Включено». В систему управления сайтом DataLife Engine предусмотрено 3 типа ЧПУ:

  • http://mousedc.ru/id-имя новости.html
  • http://mousedc.ru/категория/подкатегория/id-имя новости.html
  • http://mousedc.ru/2008/04/02/имя новости.html

Вебмастер выбирает подходящий тип в соответствии с задачами, которые он перед собой ставит. Например, «тип 3» позволяет отображать в адресе дату добавления новостей, но оказывает повышенную нагрузку на сервер. Оптимальным является «тип 2», он отображает категории, то есть делает понятной структуру сайта. Рекомендуется активировать поле «Обрабатывать неверные URL ЧПУ», если на сайте размещается большое количество контента. После внесения всех необходимых изменений надо нажать кнопку «Сохранить».

Была ли статья полезной?

Была ли эта статья полезна?

Есть вопрос?

хостинг для сайтов

Закажите недорогой хостинг

Заказать

всего от 290 руб

2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

1

Изменить тип ЧПУ

20.11.2014, 22:45. Показов 3407. Ответов 16


Нужно немного отредактировать ЧПУ тип 2 с «http://site.ru/категория/подкатегория/id-имя новости.html» такого вида на «http://site.ru/категория/id-имя новости.html» это.
Покопавшись нашел в файле .htaccess

Код

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
#Вроде как это отвечает за нужную мне ссылку
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

Но каким образом это можно изменить я не знаю и насколько мне известно придется еще копаться в других файлах скрипта и редактировать код формирования ссылок?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

21.11.2014, 14:13

2

STBOL, Зачем править код? Удалите под категории.



0



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

21.11.2014, 21:19

 [ТС]

3

N3stY, А затем, что в нем и формируются ссылки.
Все же может кто-нибудь объяснит как изменить ссылки на вот этот вид: «http://site.ru/категория/имя новости/»
Читал информацию о директиве rewriteRule, но об «$N» этом я понятия не имею. И как происходит редирект тоже не имею понятия.



0



(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

21.11.2014, 22:15

4

STBOL, если вы измените код, то новости лежащие в под категории не будут доступны. Просто не добавляйте подкатегории.

Добавлено через 1 минуту
STBOL, они в htaccess не формируются. engine.php или init.php я не помню точно. htaccess просто говорит какая ссылка ведет к какому файлу.



0



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

21.11.2014, 22:38

 [ТС]

5

N3stY, Я имел в виду не .htaccess, а файлы скрипта. Если я не буду добавлять под категории, то мне все равно нужно выбрать несколько категорий, и какая будет выводится в ссылках, та что была добавлена первая или рандомная.



0



(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

22.11.2014, 13:16

6

STBOL, Первая выводится как ссылка, но новость будет доступна как по ней так и по всем категориям которые были выбраны.



0



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

22.11.2014, 13:36

 [ТС]

7

N3stY, нет, так дело не пойдет. Это довольно плохо скажется на поисковике, ведь будет куча одинакового контента по разным ссылкам.



0



(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

22.11.2014, 17:27

8

STBOL, Поисковик ссылки берет из файла sitemap, туда попадают только ссылки которые генерирует двиг.



0



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

22.11.2014, 18:10

 [ТС]

9

N3stY, Это уже лучше! Благодарю за помощь!
Я тут заметил, что если в строке url изменить категорию на другую категорию, которая тоже входит в список, то будет происходить редирект, а это очень хорошо! Т.е. уже более точно можно сказать, что не будет повторов.

Осталось убрать .html и все будет как я и хотел.



0



(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

22.11.2014, 21:02

10

STBOL, .html можно заменить на /news/ ну или ему подобные



0



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

22.11.2014, 21:16

 [ТС]

11

N3stY, А можно это просто убрать ну, или заменить на /



0



N3stY

(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

22.11.2014, 23:49

12

STBOL, нужно посмотреть нет ли других правил в htaccess которые могут конфликтовать с ним.
Это

Код

RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

Сделать таким:

Код

RewriteRule ^([^.]+)/([0-9]+)-(.*)(/?)$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

Далее найти в show.short.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if( $config['allow_alt_url'] ) {
            
            if( $config['seo_type'] == 1 OR $config['seo_type'] == 2  ) {
                
                if( $row['category'] and $config['seo_type'] == 2 ) {
                    
                    $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                
                } else {
                    
                    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
                
                }
            
            } else {
                
                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
            }
        
        } else {
            
            $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
        
        }

И заменить на

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if( $config['allow_alt_url'] ) {
            
            if( $config['seo_type'] == 1 OR $config['seo_type'] == 2  ) {
                
                if( $row['category'] and $config['seo_type'] == 2 ) {
                    
                    $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . "/";
                
                } else {
                    
                    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . "/";
                
                }
            
            } else {
                
                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . "/";
            }
        
        } else {
            
            $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
        
        }

Возможны ошибки, я не проверял этот код.



1



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

23.11.2014, 11:42

 [ТС]

13

N3stY, Происходит циклическая переадресация, а вот почему я не знаю и как проверить конфликтующие правила тоже не понимаю. И есть вопрос почему нужно использовать это «(/?)» вместо этого «/»

Кликните здесь для просмотра всего текста

Код

DirectoryIndex index.php

RewriteEngine On

# Редиректы
RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

# Сам пост
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*)(/?)$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]
RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]

# За день
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]
# За весь месяц
RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]
# Вывод за весь год
RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]
RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
# вывод отдельному тегу
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
# поиск по доп полям
RewriteRule ^xfsearch/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
RewriteRule ^xfsearch/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]
# вывод для отдельного юзера
RewriteRule ^user/([^/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L]
RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]
RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]
RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]
# вывод всех последних новостей
RewriteRule ^lastnews(/?)+$ index.php?do=lastnews [L]
RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
# вывод в виде каталога
RewriteRule ^catalog/([^/]*)/rss.xml$ engine/rss.php?catalog=$1 [L]
RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]
RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]
# вывод непрочитанных статей
RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]
# вывод избранных статей
RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]

RewriteRule ^rules.html$ index.php?do=rules [L]
RewriteRule ^statistics.html$ index.php?do=stats [L]
RewriteRule ^addnews.html$ index.php?do=addnews [L]
RewriteRule ^rss.xml$ engine/rss.php [L]
RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)/rss.xml$ engine/rss.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$ engine/print.php?do=static&page=$1&seourl=$1 [L]

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



0



(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

23.11.2014, 15:58

14

(/?) указывает на то, что слеш как может быть, так его может и не быть и ссылка все равно будет работать.
Конфликт, я имел ввиду, чтоб не было одинаковых правил.

Куда именно ведет цикл?



0



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

23.11.2014, 17:09

 [ТС]

15

N3stY, без слеша ведет на стандартную страницу (http://site.ru/категория/id-название новости.html), но страница не открывается с ошибкой: «на этой странице обнаружена цикличесаая переадресация». А страница со слешем ведет на главную. А регулярные выражения на perl’ е пишутся?



0



(ノಠ益ಠ)ノ彡┻━┻

151 / 151 / 78

Регистрация: 05.06.2014

Сообщений: 710

Записей в блоге: 2

23.11.2014, 19:20

16

STBOL, Насчет perl я ничего вам сказать не могу, так как с ним не знаком. Нужно смотреть в show.full.php там должен быть контроль адреса



0



2 / 2 / 0

Регистрация: 02.03.2013

Сообщений: 86

23.11.2014, 23:02

 [ТС]

17

N3stY, Отредактировал, но со слешем страница не открывается перекидывает на стандартную страницу («http://site.ru/категория/id-имя новости.html»), которая выдает ошибку о циклической переадресации. А без слеша нормально открывает новость. Не могу найти файл отвечающий за переадресацию.

Добавлено через 2 часа 11 минут
Если в htaccess писать «(/?)» и в ссылке нет слеша, то страница открывается нормально иначе нет. Если же просто слеш «/», то страница без слеша не открывается иначе все нормально.



0



Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить число ядер через командную строку
  • Как изменить число ядер процессора
  • Как изменить число ядер на компьютере windows 10
  • Как изменить число процессоров на windows 10
  • Как изменить число подписчиков на youtube через код страницы

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии