Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Переписать RewriteRule под nginx


Автор: gta4kv 12.5.2009, 12:44
Никогда не сталкивался с rewrite'om в nginx, по-этому даже голову приложить не могу — как сделать?

Цитата

RewriteRule ^image.([0-9]+)$ /index.php?action=show&id=$1&type=img
RewriteRule ^file.([0-9]+)$ /index.php?action=show&id=$1&type=file
RewriteRule ^file.get.([0-9]+)$ /index.php?action=get&id=$1&type=file
RewriteRule ^image.show.([0-9]+).(png|jpg|jpeg|gif)$ /index.php?action=get&id=$1&type=image
RewriteRule ^image.preview.([0-9]+).(png|jpg|jpeg|gif)$ /index.php?action=get&id=$1&type=image&sub=preview
RewriteRule ^setlang/([a-z]+)/$ /index.php?newlang=$1
RewriteRule ^whileupload/$ /sources/lib.whileuploading.php
RewriteRule ^image/([a-z]+)/([a-z0-9]+)$ /index.php?action=images&func=$1&id=$2
RewriteRule ^file/([a-z]+)/([a-z0-9]+)$ /index.php?action=files&func=$1&id=$2


Хотелось бы хотя бы на одном примере узреть как под nginx делаются правила, и как отличается синтаксис.


 smile 

Автор: Nigel 12.5.2009, 21:57
Насколько помню, так же почти. К примеру
Код

rewrite ^image.([0-9]+)$ /index.php?action=show&id=$1&type=img last;

Если идут RewriteCond
Код

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ ./index.php [L,QSA]

, то получается условие, типа
Код

if (!-f $request_filename)
{
rewrite ^(.*)$ /index.php last;
}

ну и т.д.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)