IT-Security 33 Опубликовано: 6 мая 2009 Рассказать Опубликовано: 6 мая 2009 Есть у кого такое чудо?Буду благодарен Цитата Ссылка на сообщение Поделиться на других сайтах
insider 0 Опубликовано: 13 июня 2009 Рассказать Опубликовано: 13 июня 2009 А что чудо? Самому переделать просто ведь БеремRewriteRule ^тут_сам_регулярное_выражение$ перенаправление [L] Меняем наrewrite ^/тут_сам_регулярное_выражение$ /перенаправление last; Как видно отсюда, адреса необходимо предварить / Так же нужно поменять конструкции вида[0-9]{n} на[0-9]+ Т.к. парсер регулярных выражений в nginx не позволяет указывать заданное число повторений Идем далееRewriteCond %{REQUEST_FILENAME} !-d Меняется наif (!-d $request_filename) И тут же по аналогииRewriteCond %{REQUEST_FILENAME} !-f Меняем наif (!-f $request_filename) Все, что после RewriteCond и до следующего RewriteCond, либо до конца, заключается в {}-скобки Ну и вот готовые правила# Редиректы rewrite ^/page/(.*)$ /index.php?cstart=$1 last; # Сам пост rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/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]+)/([0-9]+)/([0-9]+)/page,([0-9]+),(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/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]+)/([0-9]+)/([0-9]+)/(.*).html(/?)+$ /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 last; rewrite ^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$4&news_page=$2&cstart=$3 last; rewrite ^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$3&news_page=$2 last; rewrite ^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /engine/print.php?news_page=$2&newsid=$3 last; rewrite ^/([^.]+)/([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$2 last; rewrite ^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$3&news_page=$1&cstart=$2 last; rewrite ^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$2&news_page=$1 last; rewrite ^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ /engine/print.php?news_page=$1&newsid=$2 last; rewrite ^/([0-9]+)-(.*).html(/?)+$ /index.php?newsid=$1 last; # За день rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&day=$3 last; rewrite ^/([0-9]+)/([0-9]+)/([0-9]+)/page/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&day=$3&cstart=$4 last; # За весь месяц rewrite ^/([0-9]+)/([0-9]+)(/?)+$ /index.php?year=$1&month=$2 last; rewrite ^/([0-9]+)/([0-9]+)/page/([0-9]+)(/?)+$ /index.php?year=$1&month=$2&cstart=$3 last; # Вывод за весь год rewrite ^/([0-9]+)(/?)+$ /index.php?year=$1 last; rewrite ^/([0-9]+)/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 ^/user/([^/]*)/rss.xml$ /engine/rss.php?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(/?)+$ /engine/rss.php?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/([^/]*)(/?)+$ /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 ^/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 ^/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$ /engine/rss.php last; rewrite ^/sitemap.xml$ /uploads/sitemap.xml last; rewrite ^/category/([^.]+)/(.*).html(/?)+$ /index.php?subaction=showfull&news_name=$2 last; rewrite ^/category/([^.]+)/page/([0-9]+)(/?)+$ /index.php?do=cat&category=$1&cstart=$2 last; rewrite ^/category/([^.]+)(/?)+$ /index.php?do=cat&category=$1 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 ^/page,([0-9]+),([^/]+).html$ /index.php?do=static&page=$2&news_page=$1 last; rewrite ^/print:([^/]+).html$ /engine/print.php?do=static&page=$1 last; } if (!-f $request_filename) { rewrite ^/([^/]+).html$ /index.php?do=static&page=$1 last; } Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 14 июня 2009 Рассказать Опубликовано: 14 июня 2009 Вот поэтому и не должно быть такой кучи правил для ЧПУ - достаточно одного универсального и для апача и для nginx Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 14 июня 2009 Рассказать Опубликовано: 14 июня 2009 Автор Этот набор под DLE8? Цитата Ссылка на сообщение Поделиться на других сайтах
insider 0 Опубликовано: 14 июня 2009 Рассказать Опубликовано: 14 июня 2009 Да Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 14 июня 2009 Рассказать Опубликовано: 14 июня 2009 Автор Спасибо, всё работает Теперь на хостинге могу держать и сайты сделанные на DLE Вы из какого города?)С меня пиво Цитата Ссылка на сообщение Поделиться на других сайтах
insider 0 Опубликовано: 14 июня 2009 Рассказать Опубликовано: 14 июня 2009 На здоровье, пользуйтесь Город Пермь, т.ч. боюсь пиво мне не обломится Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.