Url rewriting 基本NGINX url重写

Url rewriting 基本NGINX url重写,url-rewriting,nginx,rewrite,Url Rewriting,Nginx,Rewrite,我有一个带有一些get参数的域。 比如说3,我们有这样一个:www.domain.com/?a1=x&a2=y&a3=z 我想把它改写成:www.domain.com/x/y/z/ 这就是我现在所拥有的 rewrite ^/(.*)\/(.*)\/(.*)/$ /index.php?a1=$1&a2=$2&a3=$3? last; 当所有的参数都填好的时候,这就很好了。 但是当你漏掉一个参数,你会得到一个404 那么,有谁能帮我重写url的NGINX专家? 我还需要排除.js和

我有一个带有一些get参数的域。 比如说3,我们有这样一个:www.domain.com/?a1=x&a2=y&a3=z 我想把它改写成:www.domain.com/x/y/z/

这就是我现在所拥有的

rewrite ^/(.*)\/(.*)\/(.*)/$ /index.php?a1=$1&a2=$2&a3=$3? last;
当所有的参数都填好的时候,这就很好了。 但是当你漏掉一个参数,你会得到一个404

那么,有谁能帮我重写url的NGINX专家? 我还需要排除.js和.css文件,由于某些原因也不能这样做

亲切问候,,
WouterDS

如果xyz变量是字母数字的,则可以执行以下操作:

rewrite ^/([a-zA-Z0-9]*)/?([a-zA-Z0-9]*)/?([a-zA-Z0-9]*)/?$ /index.php?a1=$1&a2=$2&a3=$3? last;

对于
try_files
,有一种非常简单的方法可以做到这一点,但前提是您使用的是前端控制器模式,或者更改了解析查询字符串的方式。这为我解决了这个问题。但是我仍然不能排除我的css和js。