伪静态(url重写)是一种将动态网址转换为静态网址的技术。它可以将类似于'index.php?moduleid=1&catid=2&id=3'这样的url转换为类似于'/moduleid/1/catid/2/id/3.html'的静态链接。这种方法的好处是可以提高搜索引擎的友好性和用户的浏览体验。在thinkphp框架中,我们可以通过设置伪静态规则来实现这个效果。
下面,我们来详细介绍一下如何在ThinkPHP中实现伪静态。
一、开启路由
在ThinkPHP中开启路由需要在config.php文件中进行配置。首先,我们需要找到以下代码:
// 默认控制器名
'controller_suffix' => false,
// 禁止访问的模块列表(小写)
'deny_module_list' => ['common'],
// 默认输出类型
'default_return_type' => 'html',
// 默认AJAX 数据返回格式,可选json xml ...
'default_ajax_return' => 'json',
// 默认JSONP格式返回的处理方法
'default_jsonp_handler' => 'jsonpReturn',
// 默认JSONP处理方法
'var_jsonp_handler' => 'callback',登录后复制
然后,将其中的路由配置项的注释取消掉,即可开启路由。
立即学习“PHP免费学习笔记(深入)”;
// 开启路由
'url_route_on' => true,
// 路由使用完整匹配
'url_route_must'=> false,登录后复制
二、设置伪静态规则
开启路由后,我们才可以设置伪静态规则。我们需要在route.php文件中进行配置。首先,我们需要找到以下代码:
return [
'pattern' => [
'name' => 'w+',
],
'[hello]' => [
':id' => ['index/hello', ['method' => 'get'], ['id' => 'd+']],
':name' => ['index/hello', ['method' => 'post']],
],
];登录后复制
然后,我们可以自定义伪静态规则,将动态链接转换成静态链接。
假设我们想要将'index.php?moduleid=1&catid=2&id=3'转换为'/moduleid/1/catid/2/id/3.html',我们可以这样设置:
'pattern' => [
'name' => 'w+',
],
'alias' => [
'moduleid/1/catid/2/id/3.html' => 'index.php?moduleid=1&catid=2&id=3',
],登录后复制
这样就完成了伪静态规则的设置。
三、启用伪静态
设置好伪静态规则之后,我们还需要修改Apache或Nginx服务器的配置文件,启用伪静态。以Apache服务器为例,我们需要在.htaccess文件中添加以下代码:


MP3 天前
发表在:MagicEXIF通用注册机 v1.13明亮的 旅行分享! 做得真好。
BrendanWaida7 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!При выборе автономно...
JosephJaf10 天前
发表在:MagicEXIF通用注册机 v1.13我尊重这样的项目, 这里展示真正的旅游。...
Frankcic10 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Для блога может быть...
Stevedaf19 天前
发表在:MagicEXIF通用注册机 v1.13所有文章都令人印象深刻。继续保持 真诚。...
Stevedaf19 天前
发表在:Intel XTU中文补丁 1.13我经常访问 关于旅行的资源。有趣阅读游记...
Stevedaf20 天前
发表在:MagicEXIF通用注册机 v1.13我常常想, 能像你们一样多旅行。感谢激励...
Stevedaf20 天前
发表在:Intel XTU中文补丁 1.13很高兴阅读 有用的内容。十分 很有意思。...
Stevedaf20 天前
发表在:MagicEXIF通用注册机 v1.13我早就想, 能像你们一样多旅行。谢谢启发...
Stevedaf20 天前
发表在:Intel XTU中文补丁 1.13我一直梦想, 那么放松地度假。感谢激励。...