PHPCMS V9双语站建设切换
PHPCMS V9要做双语,很多同学都是迷茫的,在此特地分享我的双语制作步辶 我这种模式是把两个站点都改为HTML静态模式才可以实现
双语切换可分为两种模式:
1、解析二级域名来切换双语
解析二级域名如果主机支持可以二级域名绑定子目录,也可以用使用.htaccess来做重定向(适用于Apache服务器)
.htaccess 代码 放入根目录
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?www.abc.com/cn/$
RewriteCond %{REQUEST_URI} !^/cn/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /html/en/$1
RewriteCond %{HTTP_HOST} ^(www.)?www.abc.com/cn/$
RewriteRule ^(/)?$ /cn/index.html [L]
2、建立根目录来切换双语
a/建立根目录我们需要做的就是在caches/configs/system.php中将html_root这句更改为'html_root' => '',//生成静态文件路径
b/后台站点管理中格式如下
Siteid站点名站点目录站点域名 域名绑定目录管理操作
1 英文版 http://www.abc.com/ / 修改 | 删除
2 中文版 cn http://www.abc.com/cn//cn 修改 | 删除
做好这些基本上就可以实现双语并切换了。但还有个问题出现了,上传的图片怎么更新都无法打开,因为我们上传附件时的URL地址并不是我们填写的那个http://www.abc.com/cn/地址 都是以默认http://www.abc.com/ 来存储。这里我们需要修改一个。找到以下路径中 /phpcms/modules/content/classes/ url.class.php文件
定位到83行的样子 找到以下代码
$url_arr[0] = WEB_PATH == '/' ? $match_url.$html_root.'/'.$urls : $match_url.rtrim(WEB_PATH,'/').$html_root.'/'.$urls;
将他替换为
$this->sitedb = pc_base::load_model('site_model');
$siteid=param::get_cookie('siteid');
$siteinfo=$this->sitedb->get_one(array('siteid'=>$siteid));
$url_arr[0] = $siteinfo['domain'].$urls;
以上搞好后,现在我们需要处理分页的路径问题
找到以下路径/phpcms/libs/functions/中的global.func.php 定位在715行 或者找到以下代码
$url = str_replace(array('http://','//','~'), array('~','/','http://'), $url);
在这句代码下面加一句
$siteid=param::get_cookie('siteid');
$urlq= substr($url,-4); //这里主要针对后台内容分页 因为会重复主URL地址
if($siteid == 1){
if($urlq=="html"){
$url="http://www.abc.com/".$url;
}
}else{
if($urlq=="html"){
$url="http://www.abc.com/cn/".$url;
}
}
将上面的绝对地址替换为你的地址即可!
保存,现在试试是否OK了!|
以上只针对静态生成的页面,请知悉!
摘自:http://jingyan.baidu.com/article/aa6a2c14d68c7a0d4c19c4c8.html
PHPCMS V9双语站建设切换的更多相关文章
- phpcms v9手机站不支持组图($pictureurls)的修改
phpcms v9自带的手机门户网站,有时候我们需要用到组图功能$pictureurls,我在做的时候发现,如果$pictureurls中只有一张图片会正常显示,但是如果有两张或两张以上的图片的时候, ...
- PHPCMS V9多站点[站群功能]动态设置与静态设置子站内容URL
今天我们来讲解下 PHPCMS V9的站群功能的 动态站点与静态站点的配置 站群站点,分为动态站点,和静态站点两种设置方法: 静态的,就是将栏目和内容都了HTML 文件,我们先讲解下,站群的操作: 建 ...
- phpcms v9使用GET调用指定id文章内容、页面数据方法
不知道大家有没有相同的体会?在使用Phpcms V9建站调用数据的时候,基础的数据用默认的模板的调用语句就好了,但复杂不常见的数据怎么调用呢?我们技术可能会研究半天,怀着探索的精神不断尝试.孜孜不倦. ...
- PHPCMS V9 全站通用日期时间标签
用PHPCMS V9 建站时,经常会用到时间标签,它是通用标签调用-日期时间格式化,适用全站. 1.日期时间格式化显示: a\标准型:{date('Y-m-d H:i:s', $rs['inputti ...
- 利用PHPCMS V9站群功能建立分站
hosts文件就在C:\Windows\system32\drivers\etc\hosts下 用一套CMS软件系统,做多个网站,统一管理,用户可以互通,这就是所谓的站群功能.这对于运营和维护都能节省 ...
- 用PHPcms V9四步完成WAP手机站搭建
用PHPCMS最新发布的V9搭建了ONOW中文网,WEB网站(www.onow.cn)完成后,有用户提供手机访问的问题, 于是着手搭建ONOW手机WAP站(3g.onow.cn). 用PHPCMS V ...
- PHPCMS快速建站系列之phpcms v9 模板标签说明整理
[摘要]本文介绍phpcms v9中模板标签使用说明. {template "content","header"} 调用根目录下phpcms\template\ ...
- PHPCMS V9 学习总结
在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示 ...
- PHPCMS V9 学习总结(转)
转自:http://www.cnblogs.com/Braveliu/p/5074930.html 在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1 ...
随机推荐
- 2019-8-31-C#-性能分析-反射-VS-配置文件-VS-预编译
title author date CreateTime categories C# 性能分析 反射 VS 配置文件 VS 预编译 lindexi 2019-08-31 16:55:58 +0800 ...
- Vue配置多个跨域目标链接
参考: https://segmentfault.com/a/1190000016199721 1.通过使用的http-proxy-middleware来实现跨域代理 devServer: { dis ...
- skyline(TG,arcgis server)BS系统部署
skyline的BS系统部署,正常情况下应该是TG来统一管理,SFS对矢量数据服务进行管理.但我们一直是试用许可安装的TG,发现SFS要么安装不成功,要么就是不稳定.对于Fly工程可以通过Publis ...
- Linux清除磁盘上的RAID信息(Disk /dev/mapper/ddf1_4c53492....)
本文摘自https://www.cnblogs.com/blkqyd/p/7011104.html自学留存 原因: 这是因为硬盘带有raid信息,拿二手硬盘插入服务器时,系统会根据残留的信息自动发现r ...
- lost connection to MySQL server at waiting for initial communication packet,system error:o
1 可以先测试mysql本地连接石否正常 2 正常的话查看远程连接的IP在mysql中是否有权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIF ...
- day18 8.jdbc中设置事务隔离级别
设置数据库事务隔离级别特殊需求才有,后面很少用.因为数据库本身是事务隔离级别的,mysql的事务隔离级别是Repeatable read,可以解决脏读和不可重复读.不用设置,人家数据库是有事务隔离级别 ...
- Leetcode103. Binary Tree Zigzag Level Order Traversal二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / ...
- jsonRPC
<?php /** * Simple JSON-RPC interface. */ namespace org; class JsonRpc{ protected $host, $port, $ ...
- 微信网页授权demo2
1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名.请注意,这里填写的是 ...
- CSS--去除除文本基线的几种方式
削除文本基线的几种方式:1.display:block2.vertical-align:middle3.font-size:0px