Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Правила rewrite для чпу на серверах под управлением nginx - dle 13

Тема в разделе "Вопросы- ответы", создана пользователем europa1988, 22 май 2018.

22.05.18 в 12:27
05.12.21 в 13:42
20
14.632
3
  1. TopicStarter Overlay
    europa1988

    europa1988 Бывалый

    Регистрация:
    24 фев 2016
    Сообщения:
    613
    Лучших ответов:
    2
    Рейтинги:
    +113 / 11 / -0
    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

    enjekt Бывалый

    Регистрация:
    31 июл 2016
    Сообщения:
    107
    Лучших ответов:
    1
    Рейтинги:
    +19 / 2 / -0
    Скиньте для DLE 11.0
     
  3. ckau

    Команда форума VIP Кинотрафик v2

    Регистрация:
    5 май 2016
    Сообщения:
    1.230
    Лучших ответов:
    4
    Рейтинги:
    +468 / 43 / -0
    • Нравится Нравится x 1
  4. shturval

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10 / 3 / -0
    Я так понял конфиг nginx тоже надо править?
    DLE v13.3.
    Просто каждый раз просить хостера чтобы он редачил конфиг при добавлении нового доп.поля... ну такое себе решение.
    SmartSelect_20200117-085344_Chrome.jpg
     
    #4 shturval, 17 янв 2020
    Последнее редактирование: 17 янв 2020
  5. 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
     
    #5 shturval, 17 янв 2020
    Последнее редактирование: 18 янв 2020
  6. shturval

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10 / 3 / -0
    Видимо хостер только что прописал в конфиг.
    Теперь не работают ссылки вида
    Site.ru.ру/films/
    Site.ru/year/2019/
    Но уже пишет хоть что-то, что публикация не найдена.
    SmartSelect_20200118-094902_Chrome.jpg

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

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10 / 3 / -0
    Короче вернул обратно Apache. Вообще ничего не работало. Только домен. Папки открыты, на фильм нажимаешь, в итоге белый экран. Ошибка. Сайт выполнил переадресацию много раз. Удалите куки.
    Ну его.
     
  8. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    nginx хатс не понимает, там конфиг, находится он тут /etc/nginx/conf.d
    Это если у тебя панель ISPmanager, а если веста хз где, надо в сети почитать. Я и на апаче 50 -100к юзаю, сайт подвисает иногда
     
  9. shturval

    PRO Users

    Регистрация:
    14 сен 2019
    Сообщения:
    99
    Лучших ответов:
    1
    Рейтинги:
    +10 / 3 / -0
    Сколько ram и cpu у тебя на сервере?
     
  10. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    upload_2020-1-19_14-55-3.png
     
  11. evgfreeman

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

    Регистрация:
    26 апр 2016
    Сообщения:
    3.243
    Лучших ответов:
    7
    Рейтинги:
    +1.455 / 209 / -0
    Romantv это твой сервак выдерживает еле до 100к?)
     
  12. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    Больше максимум 150к было, держал, но виснет, буду ядро докупать
     
  13. enjekt

    enjekt Бывалый

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

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    • Нравится Нравится x 1
  15. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    Когда 70-80 побил уже включаю кеш Дополнительный кэш для dle у меня плагином сделано, включил и выключил, и отключаю рандоную главную страницу, а по другому сайт падает
     
    • Нравится Нравится x 1
  16. michania

    michania Бывалый

    Регистрация:
    2 ноя 2016
    Сообщения:
    148
    Лучших ответов:
    2
    Рейтинги:
    +32 / 2 / -0
    Romantv Тоже использую, хороший метод для снижения нагрузки.


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

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    Когда плагин отключаешь он сам автоматом очищается
     
    • Нравится Нравится x 1
  18. Romantv

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 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
  19. michania

    michania Бывалый

    Регистрация:
    2 ноя 2016
    Сообщения:
    148
    Лучших ответов:
    2
    Рейтинги:
    +32 / 2 / -0
    Romantv Благодарю!

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

    ROMA15kr Зелёный

    Регистрация:
    26 фев 2016
    Сообщения:
    2
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    Прошу прощения за дополнительный вопрос по хостингу, а не по теме - не могли бы вы еще подсказать в какой юрисдикции (там ведь их много - Сингапур, Австралия, Польша, Германия, Франция и т.п.) вы обычно берете VPS у этого сервиса?
    Буду благодарен за ответ.
     
Яндекс.Метрика