GA黄金甲

thinkphp伪静态怎么实现

伪静态(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文件中添加以下代码:

<ifmodule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</ifmodule>

登录后复制

这样就完成了伪静态的设置。

四、测试伪静态

启用伪静态之后,我们可以在浏览器中输入”/moduleid/1/catid/2/id/3.html”,看看是否能够正常会见到页面。若是能够正常会见,说明伪静态已经生效。

总结

通过以上办法,我们可以轻松实现伪静态的功效。在开发中,我们需要凭证规范设置路由和伪静态规则,利便搜索引擎抓取页面,提高用户的浏览体验。

以上就是thinkphp伪静态怎么实现的详细内容,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考。本文接待转载,转载请说明来由。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除。

相关新闻

联系GA黄金甲

18523999891

可微信在线咨询

事情时间:周一至周五,9:30-18:30,节沐日休息

QR code
【网站地图】【sitemap】