解决pbootcms多语言窜页面的现象
解决pbootcms多语言窜页面的现象
1.问题复现
pbootcms多语言是通过点击带参数链接来变换cookies中lg的值控制,变换后参数消失,链接还是默认的,不管哪种语言都是同一条链接,因此分享的时候就不支持点击进去对应显示想要的语言版本网站内容。那么有什么办法解决,这边建议的方法是绑定二级域名或二开实现目录名方式切换。
这里的描述有点抽象举个例子
然后我点击en就会显示下面的图片
到目前为止都是正常的,但是一旦分享链接给别人就会出现窜页面的现象
上面还好,下面的尾部就惨不忍睹了
2.解决步骤
2.1通过绑定二级域名(亲测好用)
具体步骤如下:
2.1.1解析子域名到服务地址上
2.1.2在服务器上同样的绑定一下子域名
2.1.3在数据区域,区域列表中将子域名绑定一下
2.1.4在多语言切换的地方把子域名写死就可以了
2.2直接访问带参数地址(用了伪静态后好像不怎么好用)
不推荐,试了一下,不好用
2.3修改代码+调整url命名规则
此方法由群友影清如梦提供,目测可以用,没有测过。
2.3.1修改common里的检测cookies代码,文件位置:/apps/common/HomeController.php
找到第64行代码
1 | // 未设置语言时使用默认语言 |
换成
1 | $en = strpos($_GET@['p'],'-en'); |
2.3.2把对应语言的栏目url,改成 xxx-en别名(尾巴增加对应语言版本的标识)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jack Chen的博客!