реврайты для nginx-a

grek777 grek777 rurk777 на gmail.com
Вс Дек 5 00:50:53 MSK 2010


Доброго времени суток, после перехода с apache на nginx возникла проблема с
реврайтами cms, реврайты для самого движка и некоторых модулей я смог найти,
но не для всех, может кто-нибудь помочь перевести следующие правила для
nginx:

DirectoryIndex index.php

RewriteEngine On
Options +FollowSymlinks -Multiviews
# Редиректы
RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]

#forum
RewriteCond %{HTTP_HOST} ^forum.site.ru$
RewriteRule ^(.*)$ http://site.ru/forum/$1 [R=301,L]

# DLE Forum
RewriteRule ^forum(/?)+$ /?do=forum [L]
RewriteRule ^forum/category_([0-9]+)(/?)+$ /?do=forum&act=category&cid=$1
[L]
RewriteRule ^forum/forum_([0-9]+)(/?)+$ /?do=forum&act=forum&fid=$1 [L]
RewriteRule ^forum/forum_([0-9]+)/([0-9]+)(/?)+$
/?do=forum&act=forum&fid=$1&cstart=$2 [L]
RewriteRule ^forum/topic_([0-9]+)(/?)+$ /?do=forum&act=topic&tid=$1 [L]
RewriteRule ^forum/topic_([0-9]+)/([0-9]+)(/?)+$
/?do=forum&act=topic&tid=$1&cstart=$2 [L]
RewriteRule ^forum/topic_([0-9]+)/reply(/?)+$
/?do=forum&act=post&code=reply&tid=$1 [L]
RewriteRule ^forum/forum_([0-9]+)/add(/?)+$
/?do=forum&act=add_topic&forum_id=$1 [L]
RewriteRule ^forum/search(/?)+$ /?do=forum&act=search [L]
RewriteRule ^forum/search/([^/]+)/([0-9]+)(/?)+$
/?do=forum&act=search&search_text=$1&cstart=$2 [L]
RewriteRule ^forum/subscription(/?)+$ /?do=forum&act=subscription [L]
#RedirectPermanent /forum http://forum.site.ru

#Arcade
RewriteRule ^arcade(/?)+$ /?do=arcade [L]
RewriteRule ^arcade/play/([0-9]{1,3})/(/?)+$ /?do=arcade&op=play&gid=$1
[QSA,L]
RewriteRule ^arcade/play/([0-9]{1,3})/([^/]*)(/?)+$
/?do=arcade&op=rec&gid=$1 [L]
RewriteRule ^arcade/([^/]*)/(/?)+$ /?do=arcade&cid=$1 [L]
RewriteRule ^arcade/([0-9]{1,3}),([0-9]+).html(/?)+$
?do=arcade&cstart=$1&cend=$2 [L]
RewriteRule ^arcade/([^/]*)/([0-9]{1,3}),([0-9]+).html(/?)+$
?do=arcade&cid=$1&cstart=$2&cend=$3 [L]

#Chat
RewriteRule ^chat(/?)+$ /?do=chat [L]

# ТВ
RewriteRule ^tv-program(/?)+$ /?do=tv-program [L]
RewriteRule ^tv-program/([^/]*)(/?)+$ /?do=tv-program&period=3&date=$1 [L]
RewriteRule ^tv-program/([^/]*)/([0-9]+)(/?)+$
/?do=tv-program&period=3&channel=$2&date=$1 [L]
RewriteRule ^tv-program/info/([^/]*)/([0-9]+)(/?)+$
/?do=tv-program&programm=$2&date=$1&open=info [L]

# Gallery
RewriteRule ^gallery(/?)+$ /index.php?do=gallery [L]
RewriteRule ^gallery/page/([0-9]+)(/?)+$ /?do=gallery&cstart=$1 [L]
RewriteRule ^gallery/image/([0-9]+).html(/?)+$
/?do=gallery&action=img&image=$1 [L]
RewriteRule ^gallery/image/([0-9]+)/page/([0-9]+)(/?)+$
/?do=gallery&action=img&image=$1&cstart=$2 [L]
RewriteRule ^gallery/users(/?)+$ /?do=gallery&action=usgal [L]
RewriteRule ^gallery/users/page/([0-9]+)(/?)+$
/?do=gallery&action=usgal&cstart=$1 [L]
RewriteRule ^gallery/own/([^/]*)(/?)+$ /?do=gallery&action=usergal&user=$1
[L]
RewriteRule ^gallery/own/([^/]*)/page/([0-9]+)(/?)+$
/?do=gallery&action=usergal&user=$1&cstart=$2 [L]
RewriteRule ^gallery/category/([^/]*)(/?)+$
/?do=gallery&action=show_cat&category=$1 [L]
RewriteRule ^gallery/category/([^/]*)/page/([0-9]+)(/?)+$
/?do=gallery&action=show_cat&category=$1&cstart=$2 [L]



# 301 редирект
RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule (.*) http://site.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.pod.site.ru^M
RewriteRule (.*) http://pod.site.ru/$1 [R=301,L]
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20101205/07ab7c81/attachment.html>


Подробная информация о списке рассылки nginx-ru