2012-04-25 128 views
1

我有一个域有一些获取参数。 可以说3,所以我们有这个:www.domain.com/?a1=x & a2 = y & a3 = z 我想将其改写为:www.domain.com/x/y/z/基本NGINX网址重写

这是我到现在为止

rewrite ^/(.*)\/(.*)\/(.*)/$ /index.php?a1=$1&a2=$2&a3=$3? last; 

而这几乎是做这项工作时,所有的参数都是填充。 但是!当你留下1个参数,你会得到一个404.

那么,任何NGINX专家谁可以帮我重写网址? 我还需要排除.js & .css文件,并且出于某种原因也无法执行此操作。

亲切的问候, WouterDS

+0

有一个很琐碎的方式与'try_files'要做到这一点,但只有在使用前端控制器模式时,或者修改了解析查询字符串的方式。 – mrlee 2012-04-25 22:26:22

回答

2

如果你XYZ变量是字母和数字,你可能只是这样做:

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

为我修好了。 但我仍然不能排除我的css&js。 – wouterds 2012-04-25 22:37:34