在nginx服务器上,在/usr/local/nginx/conf/nginx.conf中server中做伪静态,代码如下:
#以下是伪静态设置
if (!-e $request_filename)
{
rewrite ^/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)\.html /index.php?m=Home&c=$1&a=$2&$3=$4&$5=$6&$7=$8&$9=$10 last;
break;
}
但是在运行的最后会发现,$10好像没有作用,经测试,$10,$11,$12……等,超过10都不行,最后网上找解决方法,原来原因是,超过10个参数的时候,写法就要改一下了,最后改成
#以下是伪静态设置
if (!-e $request_filename)
{
rewrite ^/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(?<pagesize>\d+)/(?<resId>[_0-9a-z]+)/(?<res>\d+)/(?<res_Id>[_0-9a-z]+)/(?<res_d>\d+)\.html /index.php?m=Home&c=$1&a=$2&$3=$4&$5=$6&$7=$8&$9=$pagesize&$resId=$res&$res_Id=$res_d last;
break;
}
其中红色的就是$10,超过10的写法应该 (?<pagesize>\d+) 这样写,后面直接用$pagesize,这样不管有多少个参数都能使用了。
注意:pagesize是任意字符串,自己定义的。
以上代码在nginx服务器上测试,能正常使用。