Apache rewrite in Nginx format
Igor Sysoev
is at rambler-co.ru
Wed Sep 26 15:14:18 MSD 2007
On Wed, Sep 26, 2007 at 04:18:43PM +1200, Philip Murray wrote:
> Is it possible to express the following Apache rewrite rule in Nginx?
>
> RewriteCond %{QUERY_STRING} !^nobranding$
> RewriteCond %{REQUEST_FILENAME} ^/assets/XL/([^.]+)\.([jpegif]+)$
> RewriteCond /usr/local/www/assets-nz/XL/%1.branded.%2 -f
> RewriteRule ^/([^.]+)\.([jpeg]+)$ /$1.branded.$2
>
> In Nginx, this would be in a location block with an alias, so
>
> location /assets {
> alias /usr/local/www/assets-nz/;
>
> ... rewrites go here ...
> }
>
> But, I understand you can't rewrite with an alias present? So how can
> I implement the above Apache rewrite?
Try
location /assets {
if ($args = nobranding) {
rewrite ^(.+)$ /nobranding$1 last;
}
rewrite ^/assets/XL/(.+)\.(jpeg|jpg|gif) /XL/$1.branded.$2;
root /usr/local/www/assets-nz;
error_page 404 = /nobranding/assets$uri;
}
location /nobranding/assets {
internal;
alias /usr/local/www/assets-nz/;
}
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list