首先确认我们的需求:http://xxx.com/tag/标签
来访问:http://xxx.com/index.php?m=content&c=tag&a=lists&tag=标签
实现url的伪静态化。
一、修改url重写规则
网站根目录下.htaccess文件添加如下配置
RewriteRule ^tag/(.*)$ index.php?m=content&c=tag&a=lists&tag=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
复制代码
二、修改所有访问Tag的链接
全局搜索 index.php?m=content&c=tag&a=lists&tag=
整体替换为:tag/
三、修改处理Tag处的逻辑代码
phpcms/modules/content/tag.php lists函数开头部分修改如下
$uri = trim($_SERVER[‘REQUEST_URI’]);
$tag = current(explode(‘?’, next(explode(‘tag/’, $uri))));
$tag = urldecode($tag);
if (empty($tag)) {
$this->init();
exit;
}
$tag = safe_replace(addslashes($tag));
修改起来很简单,兼顾含特殊字符的tag,测试OK