diypage的html后缀伪静态

这个功能爽爽要我500块,没钱啊,所以自己动手丰衣足食吧。
经过不懈的努力diypage的伪静态调整完成,把/abc-111/的伪静态转换成了/abc.html的形式了。思路是采用了输出缓存的更改。把输出的全文用正则替换的方法改变了输出形式。

nginx规则
原版

rewrite "^/([a-z0-9]+\-[a-z0-9\-]+\/)$" /index.php?$1 last;
rewrite "^/(dp\-+[a-z0-9\-]+\.html)$" /index.php?$1 last;
rewrite "^/(pagetype\-+[a-z0-9\-]+\.html)$" /index.php?$1 last;

新版

rewrite "^/([a-z0-9]+\-[a-z0-9\-]+\.html)$" /index.php?$1 last;
rewrite "^/(dp\-+[a-z0-9\-]+\.html)$" /index.php?$1 last;
rewrite "^/(pagetype\-+[a-z0-9\-]+\.html)$" /index.php?$1 last;

实测可用的输出改变代码,加在diypage的index.php的里面。

ob_start();
function change_image_domain(){
$output = ob_get_contents();
ob_clean();
$aaaaa='/([a-zA-Z]+)-([0-9]+)(\/)+/';
$bbbbb='$1-$2.html';
$output=preg_replace($aaaaa,$bbbbb,$output);
$aaaaa2='/([a-zA-Z]+)-([0-9]+)-([0-9]+)(\/)+/';
$bbbbb2='$1-$2-$3.html';
$output=preg_replace($aaaaa2,$bbbbb2,$output);
//$output = str_replace('?view-17/','view-17.html',$output);
echo $output;
}
register_shutdown_function('change_image_domain');

注意,需关闭diypage的gzip功能。亲测有效,使用的请留言交流哈。

0 Comments
Leave a Reply

Time limit is exhausted. Please reload the CAPTCHA.