yii2 将分页url处理为伪静态Rewrite

一开始也看了些资料,但是好像都不起作用。所以只能将生成的HTML进行处理,处理为自己需要的伪静态结果。

新增公共静态方法在模板中调用:

/**

* 处理分页中伪静态

* @param $pages

* @return mixed|string

* @throws \Exception

*/

public static function pageDispose($pages)

{

$html = LinkPager::widget([

'pagination' => $pages,

'nextPageLabel' => '下一页',

'prevPageLabel' => '上一页',

]);

$preg = '/<a .*?href="(.*?)".*?>/is';

preg_match_all($preg, $html, $match);

for ($i = 0; $i < count($match[1]); $i++)

{

$array = parse_url($match[1][$i]);

$pathArray = pathinfo($array['path']);

parse_str($array['query'], $url_params_arr);

if (!empty($url_params_arr['page'])) {

$page = $url_params_arr['page'];

$filename = $pathArray['filename'] . '-' . $page . '.html';

$html = str_replace($match[1][$i], $filename, $html);

}

}

return $html;

}

模板中使用:

<?= \frontend\controllers\BaseController::pageDispose($pages);

?>

main.php配置文件: 

'list-<id:\d+>-<page:\d+>' => 'site/list', //分页

 文章地址:http://www.ningmengjishu.com/yii/3.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值