扫码关注官方订阅号
php怎么实现类似segmentfault 的url重写?
走同样的路,发现不同的人生
2个步骤可以实现。
1.通过APACHE或者nginx或者IIS将真实地址变为伪静态地址,让伪静态地址能够访问;
2.通过程序正则的方法将html元素中的a标记href提取出来,将其伪静态,然后配合第一步便可实现。
实现方法如:
//将页面内容放入缓冲区 $content = ob_get_contents(); //进行正则匹配 $content = preg_replace( array("/\<a href\=\"live\.php\?tags\=(.*?)\&page\=(.*?)\"/i", "/\<a href\=\"live\.php\?tags\=(.*?)\"/i"), array("<a href=\"/live-tags-\\1-\\2.html\"", "<a href=\"/live-tags-\\1.html\""), $content); //释放 obclean(); //输出 echo $content;
上面的正则变为你自己的,替换也变为自己的。。。。
大体来说有两种实现方式:
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
2个步骤可以实现。
1.通过APACHE或者nginx或者IIS将真实地址变为伪静态地址,让伪静态地址能够访问;
2.通过程序正则的方法将html元素中的a标记href提取出来,将其伪静态,然后配合第一步便可实现。
实现方法如:
//将页面内容放入缓冲区 $content = ob_get_contents(); //进行正则匹配 $content = preg_replace( array("/\<a href\=\"live\.php\?tags\=(.*?)\&page\=(.*?)\"/i", "/\<a href\=\"live\.php\?tags\=(.*?)\"/i"), array("<a href=\"/live-tags-\\1-\\2.html\"", "<a href=\"/live-tags-\\1.html\""), $content); //释放 obclean(); //输出 echo $content;上面的正则变为你自己的,替换也变为自己的。。。。
大体来说有两种实现方式: