ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rewrites for DLE



Вот то что хранилось на одном из наших проектов, версия DLE последняя но не уверен что сконвертированы все реврайты, строк по крайней мере меньше

    # URL rewrites
        rewrite ^/.*(/templates/.*)$ $1 last;
        rewrite ^/.*(/engine/.*)$ $1 last;
        rewrite ^/.*(/admin.php.*)$ $1 last;

        rewrite ^/page/(.*)$ /index.php?cstart=$1 last;
        rewrite ^/[^.]+/([0-9]+)-.*\.html(/?)+$ /index.php?newsid=$1 last;
        rewrite ^/[^.]+/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$3&news_page=$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 "^/([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 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 last;
            rewrite "^/([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 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 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 ^/user/([^/]*)(/?)+$ /index.php?subaction=userinfo&user=$1 last;
            rewrite ^/user/([^/]*)/page/([0-9]+)(/?)+$ /index.php?subaction=userinfo&user=$1&cstart=$2 last;
            rewrite ^/newposts(/?)+$ /index.php?subaction=newposts last;
            rewrite ^/newposts/page/([0-9]+)(/?)+$ /index.php?subaction=newposts&cstart=$1 last;                                                                                               
            rewrite ^/static/(.*).html(/?)+$ /index.php?do=static&page=$1 last;
            rewrite ^/favorites(/?)+$ /index.php?do=favorites last;
        rewrite ^/favorites/page/([0-9]+)(/?)+$ /index.php?do=favorites&cstart=$1 last;
        rewrite ^/statistics.html$ /index.php?do=stats last;
        rewrite ^/addnews.html$ /index.php?do=addnews last;
        rewrite ^/rss.xml$ /engine/rss.php 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$ /engine/rss.php?do=cat&category=$1 last;
        rewrite ^/([^/]+).html$ /index.php?do=static&page=$1 last;
            }

Надеюсь это кому-то пригодится. Вообще же я думаю если попросить авторов (учитывая популярность и DLE и nginx среди русских вебмастеров) им будет не в тягость мейнтейнить два набора паралельно

Дмитрий


30.01.08, Sergej Kandyla <sk.paix@xxxxxxxxx> написал(а):
Dmitry wrote:
>
> Если cms популярная, то я напишу правила и опубликую с остальными на
> nginx.info
>

Я думаю, многие будут вам признательны, если напишите ревраты для DLE

(27 400 000 для DLE - поиск по гуглу)

--------------------------
Дефолтные директивы реврайта DLE (Datalife Engine)

RewriteEngine On
RewriteBase /

# RSS
RewriteRule ^rss.xml(/?)+$ /engine/rss.php
RewriteRule ^category/([^/]*)/rss.xml(/?)+$
/engine/rss.php?do=cat&category=$1

# Добавление новости
RewriteRule ^addnews(/?)+$ /?do=addnews

# Статистика
RewriteRule ^stats(/?)+$ /?do=stats

# Категории
RewriteRule ^category(/?)+$ /?do=cat
RewriteRule ^category/([^/]*)(/?)+$ /?do=cat&category=$1
RewriteRule ^category/([^/]*)/page/([0-9]+)(/?)+$
/?do=cat&category=$1&cstart=$2

# вывод для отдельного юзера
RewriteRule ^user(/?)+$ /?do=user
RewriteRule ^user/([^/]*)(/?)+$ /?subaction=userinfo&user=$1
RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$
/?subaction=userinfo&user=$1&cstart=$2

# вывод непрочитанных статей
RewriteRule ^newposts(/?)+$ /?subaction=newposts
RewriteRule ^newposts/page/([0-9]+)(/?)+$ /?subaction=newposts&cstart=$1

# Редиректы
RewriteRule ^page(/?)+$ /?cstart=0
RewriteRule ^page/(.*)$ /?cstart=$1

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

RewriteRule
^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$
/?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5
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

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$
/?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4

# За день
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$
/?year=$1&month=$2&day=$3
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$
/?year=$1&month=$2&day=$3&cstart=$4

# За весь месяц
RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ /?year=$1&month=$2
RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$
/?year=$1&month=$2&cstart=$3

# Вывод за весь год
RewriteRule ^([0-9]{4})(/?)+$ /?year=$1
RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ /?year=$1&cstart=$2

# Статистические страницы
RewriteRule ^static/(.*).html(/?)+$ /?do=static&page=$1

# вывод избранных статей
RewriteRule ^favorites(/?)+$ /?do=favorites
RewriteRule ^favorites/page/([0-9]+)(/?)+$ /?do=favorites&cstart=$1


Спасибо.

--
Wbr, SK





 




Copyright © Lexa Software, 1996-2009.