我怎样才能避免在nginx中使用别名?

由于在nginx的一个长期存在的错误 ,我被build议使用root指令来切换我的别名指令。 不幸的是,这现在打破了我的静态文件,它们位于我的站点path( mysite.com/blog > /var/www/mysite/wordpress )的不同目录中。 我怎样才能解决这个问题,而不改变我的静态文件结构? 这是我的完整位置块:

 location /blog { root /var/www/mysite/wordpress; try_files $uri $uri/ /blog/index.php$is_args$args; location ~ \.php { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_split_path_info ^(?:\/blog\/)(.+\.php)(.*); fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } } 

重写URI:

 location /blog { root /var/www/mysite/wordpress; rewrite ^/blog/([^.]+\.[^.]+)$ /$1 break; try_files $uri $uri/ /blog/index.php$is_args$args; location ~ \.php { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_split_path_info ^(?:\/blog\/)(.+\.php)(.*); fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } } 

这将删除URI中包含潜在文件后缀的URI的URI部分( something.something )。