Адаптация rewrite правил apache

G
На сайте с 30.11.2009
Offline
11
957

Приветствую всех!

Прошу помочь адаптировать список правил mod_rewrite apache для mod_rewrite nginx, сам справиться не могу и чувствую что уже захожу в тупик...

вот правила которые пытаюсь перевести в читаемый формат для nginx

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^resources/ - [NC,L]
RewriteRule ^css/ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

вот что получилось более-менее сделать

rewrite ^/.*$ - last;
rewrite ^resources/ - last;
rewrite ^css/ - last;
rewrite ^/.*$ index.php last;

знающие, помогите пожалуйста с правилами RewriteCond!

M
На сайте с 22.02.2007
Offline
103
#1
gilas:
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d

Это проверка, что запрашиваемый файл является файлом, символической ссылкой или папкой и размер файла ненулевой.

На nginx это как-то так

if (-e $request_filename) {

# сюда вставить правила rewrite
}

Но это только проверка на существование.

Как проверить размер - не знаю. Да и надо ли, с учетом того, что nginx не умеет вложенные условия (придется извращаться)? :)

GX
На сайте с 06.02.2011
Offline
8
#2

http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ - попробуйте этот сервис. С достаточно простыми правилами справляется неплохо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий