Thinkphp默认情况下使用url会生成全静态化地址。
如果需要将参数以动态形式展示,可以配置url_common_param属性为true即可。
举例如下:
假设我们已注册的路由是:
Route::rule('blog/:id', 'index/blog/read');
执行url方法:
url('index/blog/read', ['id'=>5, 's'=>'testKeyword']);
默认情况下的结果:
/blog/5/s/testKeyword.html
开启url_common_param后的结果:
/blog/5.html?s=testKeyword
总结:
开启url_common_param后的结果应该是你想要的结果,开启这个属性后,非路由中指定的参数都将以动态参数生成。而本例中id是注册在路由中的。所以id参数任然以静态形式展示。