2017-08-09 176 views
0

我在.htaccess以下重写:htaccess的重写条件nginx的配置 - 多个条件&重写

#exception for shorthand phpthumb links eg /userfiles/myimage.jpg?w=300 
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|png|gif|bmp|JPG|)$ 
RewriteCond %{QUERY_STRING} ^(.+)$ 
RewriteRule ^(.*)$ application/third_party/phpThumb/phpThumb.php?src=../../../$1&%1 [NE,L] 

它检查请求是针对指定的(图像)文件中的一个,并且具有一定的查询字符串参数。在这种情况下,它应该重写为自动缩略图脚本。

我想重写到nginx配置。到目前为止,我有这样的:

location \.(jpg|jpeg|png|gif|bmp|JPG)$ { 
    if($args ~ "^(.+)$"){ 
     rewrite ^/(.*)$ /application/third_party/phpThumb/phpThumb.php?src=../../../$1 last; 
    } 
} 

我是新来nginx的,并试图粘合起来,从一些应用手册,新的配置和该转换器: http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

但它似乎并没有工作。我究竟做错了什么?

回答

0

我已经取代了重写下列要求:

location ~ /(images|userfiles)/ { 
    if ($args) { 
     # alternative shorthand phpthumb links eg /userfiles/myimage.jpg?w=300 
     rewrite .(jpg|jpeg|png|gif)$ /application/third_party/phpThumb/phpThumb.php?src=../../..$uri last; 
    } 
}