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双语站建设切换的更多相关文章

  1. phpcms v9手机站不支持组图($pictureurls)的修改

    phpcms v9自带的手机门户网站,有时候我们需要用到组图功能$pictureurls,我在做的时候发现,如果$pictureurls中只有一张图片会正常显示,但是如果有两张或两张以上的图片的时候, ...

  2. PHPCMS V9多站点[站群功能]动态设置与静态设置子站内容URL

    今天我们来讲解下 PHPCMS V9的站群功能的 动态站点与静态站点的配置 站群站点,分为动态站点,和静态站点两种设置方法: 静态的,就是将栏目和内容都了HTML 文件,我们先讲解下,站群的操作: 建 ...

  3. phpcms v9使用GET调用指定id文章内容、页面数据方法

    不知道大家有没有相同的体会?在使用Phpcms V9建站调用数据的时候,基础的数据用默认的模板的调用语句就好了,但复杂不常见的数据怎么调用呢?我们技术可能会研究半天,怀着探索的精神不断尝试.孜孜不倦. ...

  4. PHPCMS V9 全站通用日期时间标签

    用PHPCMS V9 建站时,经常会用到时间标签,它是通用标签调用-日期时间格式化,适用全站. 1.日期时间格式化显示: a\标准型:{date('Y-m-d H:i:s', $rs['inputti ...

  5. 利用PHPCMS V9站群功能建立分站

    hosts文件就在C:\Windows\system32\drivers\etc\hosts下 用一套CMS软件系统,做多个网站,统一管理,用户可以互通,这就是所谓的站群功能.这对于运营和维护都能节省 ...

  6. 用PHPcms V9四步完成WAP手机站搭建

    用PHPCMS最新发布的V9搭建了ONOW中文网,WEB网站(www.onow.cn)完成后,有用户提供手机访问的问题, 于是着手搭建ONOW手机WAP站(3g.onow.cn). 用PHPCMS V ...

  7. PHPCMS快速建站系列之phpcms v9 模板标签说明整理

    [摘要]本文介绍phpcms v9中模板标签使用说明. {template "content","header"} 调用根目录下phpcms\template\ ...

  8. PHPCMS V9 学习总结

    在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示 ...

  9. PHPCMS V9 学习总结(转)

    转自:http://www.cnblogs.com/Braveliu/p/5074930.html 在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1 ...

随机推荐

  1. 2019-3-1-VisualStudio-扩展开发-获得输出窗口内容

    title author date CreateTime categories VisualStudio 扩展开发 获得输出窗口内容 lindexi 2019-03-01 09:21:41 +0800 ...

  2. golang Linux下编译环境搭建

    1.下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装,所以先安装1.4) 2.解压后我的目录结构是: /opt/xxx/golang |-------gopath     ...

  3. 自己动手编写JEECMS自定义栏目统计标签

    今天想在给Java客二级版面加入栏目文章统计效果,如下图, 查看JEECMS的源代码发现开发者版本还没有类似现成的统计标签,一种解决的办法是使用现有的JEECMS标签,像这样Struts( [@cms ...

  4. vector容量器的应用

    vector容器的应用,感觉最近做的题目还用的挺多 vector与常用数组大部分是相同的,可以进行插入,删除之类的,但是,有些题目,用普通的数组就很容易爆掉,而vector可以动态的根据你所需要的来调 ...

  5. PAT甲级——A1040 Longest Symmetric String

    Given a string, you are supposed to output the length of the longest symmetric sub-string. For examp ...

  6. 桥接模式(Bridge、Implementor)(具体不同平台日志记录,抽象与实现分离)

    桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化.它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式 ...

  7. Finalize什么时候被调用

    Finalize方法在垃圾回收结束时被调用,有五种一下情况会导致开始垃圾回收. 第0代已满  第0代满时,垃圾回收会自动开始.改时间是目前导致Finalize方法被调用的最常见的一种方式,因为随着应用 ...

  8. 宝塔https

    登录宝塔论坛,然后申请免费的https,然后在域名控制面板添加解析并验证,最后宝塔强制https跳转

  9. dl, dt, dd /line-height /loat /vertical-align 问题

    刚刚在看张鑫旭大神的个人网站,看到一篇关于“css瓶颈”的深度好文,地址为:http://www.zhangxinxu.com/wordpress/?p=2523 关于张大神在文章里面提到的四个问题: ...

  10. 基于MaxCompute打造轻盈的人人车移动端数据平台

    摘要: 2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,人人车大数据平台负责人吴水永从人人车 ...