织梦DEDECMS移动端适配URL优化str_replace函数替换多个内容

用一个DedeCMS搭建PC端和移动端方法比较多,所用标签相同,会遇到链接路径出错,比如首页链接、面包屑导航、上下页链接等。采用不动源文件,运用PHP的str_replace函数替换URL的方法,采用绝对路径兼容PC、移动端。 DedeCMS移动端URL绝对路径修改 设置并启用绝对地址 系统基本设置 -> 核心设...

用一个DedeCMS搭建PC端和移动端方法比较多,所用标签相同,会遇到链接路径出错,比如首页链接、面包屑导航、上下页链接等。采用不动源文件,运用PHP的str_replace函数替换URL的方法,采用绝对路径兼容PC、移动端。



DedeCMS移动端URL绝对路径修改

设置并启用绝对地址

系统基本设置 -> 核心设置,找到

(是/否)支持多站点,开启此项后附件、栏目连接、arclist内容启用绝对网址:选择是

建议开启绝对路径,这样在PC端的栏目连接、文章链接、图片地址都是绝对路径。在移动端所有URL路径就可以用str_replace函数进行替换。

相对路径:页面出现的链接没有完整的URL,如

<a href="/seo/">SEO优化入门</a>

绝对路径:页面出现的链接是完成的URL,如

<a href="https://www.52muban.com/seo/">SEO优化入门</a>

两种路径访问的页面是一样的,但绝对路径有效集中页面权重,更利于SEO优化。

在没有做301之前,用下面的URL都可以访问首页。这么多页面100%相同,页面如果采用相对路径,蜘蛛会沿着URL反复抓取,权重会分散。采用绝对路径后,蜘蛛即使从不同的URL进入,也只沿着一种URL路径抓取内容。

https://www.52muban.com/

http://dede58.com/

https://www.52muban.com/index.html

https://www.52muban.com/index.php

http://dede58.com/index.html

http://dede58.com/index.php

织梦移动端搭建

如果织梦移动端在PC端的子目录下,即首页路径分别是:

PC端首页URL为:https://www.52muban.com/

移动端首页URL为:https://www.52muban.com/m/

②采用二级域名解析到二级目录的方法,参考文章《万网阿里云用.htaccess二级域名绑定子目录》,以实现移动端首页URL为

http://m.dede58.com/



在m模板中运用str_replace函数替换单个或多个内容

①面包屑导航(当前所在位置)

面包屑导航告诉用户所在位置,搜索引擎也沿着这些路径继续抓取。调用标签是{dede:field.position/},采用绝对路径之后,

PC端面包导航HTML一般是:

<strong>当前位置:</strong><a href="https://www.52muban.com">首页</a> > <a href="https://www.52muban.com/seo/">SEO优化入门</a>

移动端面包屑导航HTML一般是:

<strong>当前位置:</strong><a href="https://www.52muban.com">首页</a> > <a href="https://www.52muban.com/m/seo/">SEO优化入门</a>

{dede:field.positon/}必须要替换两个地方:首页URL地址、栏目URL地址。

PHP str_replace函数把两处替换的地方放到array数组里面,该函数执行顺序的问题不展开阐述,移动端模板的面包屑导航(注意下面橙色部分的写法):

{dede:field name="position" function="str_replace(array('https://www.52muban.com','http://m.dede58.com/m&#039😉,'http://m.dede58.com',@me)"/}

最后HTML效果

<strong>当前位置:</strong><a href="http://m.dede58.com">首页</a> > <a href="http://m.dede58.com/seo/">SEO优化入门</a> >

②栏目页栏目和文章链接修改

<a href="{dede:field.typeurl function='str_replace("https://www.52muban.com","http://m.dede58.com",@me)'/}">

栏目:{dede:field.typename/}

</a>

{dede:list pagesize='10'}

<a href="[field:arcurl function='str_replace("https://www.52muban.com","http://m.dede58.com",@me)'/]">

标题:[field:title/]

</a>

{/dede:list}

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
dedecms教程

DedeCMS调用指定栏目不包含下级栏目的问题

2023-2-16 16:22:25

dedecms教程

织梦list标签orderby=weight 按权重排序无效解决办法

2023-2-16 16:22:27

!
你也想出现在这里?立即 联系我们吧!
信息
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
搜索