URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7080
[ Назад ]

Исходное сообщение
"rewrite для nginx-a"

Отправлено Greenwood , 08-Дек-10 14:09 
Доброго времени суток, просьба знатоков nginx-a помочь перевести для него следующие правила
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]

у меня получилось перевести так:

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

Вродебы синтаксических ошибок нет, но правила не работают, может быть я что-то упустил?


Содержание

Сообщения в этом обсуждении
"rewrite для nginx-a"
Отправлено erera22 , 09-Дек-10 12:29 
>[оверквотинг удален]
> rewrite ^/arcade(/?)+$ /?do=arcade last;
> rewrite ""^/arcade/play/([0-9]{1,3})/(/?)+$" /?do=arcade&op=play&gid=$1;
> rewrite "^/arcade/play/([0-9]{1,3})/([^/]*)(/?)+$"/" ?do=arcade&op=rec&gid=$1 /[L];
> rewrite "^/arcade/([^/]*)/(/?)+$ /" ?do=arcade&cid=$1 last;
> rewrite "^/arcade/([0-9]{1,3}),([0-9]+).html(/?)+$" ?do=arcade&cstart=$1&cend=$2
> /[L];
> rewrite "^/arcade/([^/]*)/([0-9]{1,3}),([0-9]+).html(/?)+$" /?do=arcade&cid=$1&cstart=$2&cend=$3
> last;
> Вродебы синтаксических ошибок нет, но правила не работают, может быть я что-то
> упустил?

1) 2 строка, rewrite "" поправь
2) А так, не стал присматриваться, к примеру онлин сервис http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ выдал
rewrite ^/arcade(/?)+$ /?do=arcade last;
rewrite ^/arcade/play/([0-9]{1,3})/(/?)+$ /?do=arcade&op=play&gid=$1 last;
rewrite ^/arcade/play/([0-9]{1,3})/([^/]*)(/?)+$/?do=arcade&op=rec&gid=$1 /[L];
rewrite ^/arcade/([^/]*)/(/?)+$ /?do=arcade&cid=$1 last;
rewrite ^/arcade/([0-9]{1,3}),([0-9]+).html(/?)+$?do=arcade&cstart=$1&cend=$2 /[L];
rewrite ^/arcade/([^/]*)/([0-9]{1,3}),([0-9]+).html(/?)+$ /?do=arcade&cid=$1&cstart=$2&cend=$3 last;
попробуй, заодно расскажи, сработало ли ;)


"rewrite для nginx-a"
Отправлено Greenwood , 11-Дек-10 17:48 
>[оверквотинг удален]
> выдал
> rewrite ^/arcade(/?)+$ /?do=arcade last;
> rewrite ^/arcade/play/([0-9]{1,3})/(/?)+$ /?do=arcade&op=play&gid=$1 last;
> rewrite ^/arcade/play/([0-9]{1,3})/([^/]*)(/?)+$/?do=arcade&op=rec&gid=$1 /[L];
> rewrite ^/arcade/([^/]*)/(/?)+$ /?do=arcade&cid=$1 last;
> rewrite ^/arcade/([0-9]{1,3}),([0-9]+).html(/?)+$?do=arcade&cstart=$1&cend=$2
> /[L];
> rewrite ^/arcade/([^/]*)/([0-9]{1,3}),([0-9]+).html(/?)+$ /?do=arcade&cid=$1&cstart=$2&cend=$3
> last;
> попробуй, заодно расскажи, сработало ли ;)

насчет 2 строки я в курсе, опечатался при написаний поста.
Реврайты я также переводил через http://www.anilcetin.com/convert-apache-htaccess-to-nginx, кавычки добавил для экранизации символов {}, nginx "проглатывает" эти правила, модуль работает, но не полностью, поэтому и есть подозрение что где то есть ошибка.