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 ...
随机推荐
- 2018-10-19-C#-序列类为-xml-可以使用的特性大全
title author date CreateTime categories C# 序列类为 xml 可以使用的特性大全 lindexi 2018-10-19 9:9:47 +0800 2018-6 ...
- [转]C#委托的异步调用
本文将主要通过“同步调用”.“异步调用”.“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊. 首先,通过代码定义一个委托和下面三个示例将要调用的方法: ); //模拟该方法运 ...
- WIN32_FIND_DATA 详细结构(附循环读取文件代码)
//去除路径最后多余的斜杠和反斜杠 std::string TrimPath(std::string path) { //string test3("内容"); 使用引用字符数组作 ...
- #pragma omp parallel for
#pragma omp parallel for是OpenMP中的一个指令,表示接下来的for循环将被多线程执行,另外每次循环之间不能有关系.示例如下: int main(int argc, char ...
- Linux清除磁盘上的RAID信息(Disk /dev/mapper/ddf1_4c53492....)
本文摘自https://www.cnblogs.com/blkqyd/p/7011104.html自学留存 原因: 这是因为硬盘带有raid信息,拿二手硬盘插入服务器时,系统会根据残留的信息自动发现r ...
- jeecms框架单点登录功能的实现
单点登录的功能实现主要原理: 1: 在点击登录按钮的时候使用reponse.addCookie()方法向浏览器发送cookie: 2: 在前段拦截器中的request.getCookie()在接收到设 ...
- 2018-8-10-WPF-使用不安全代码快速从数组转-WriteableBitmap
title author date CreateTime categories WPF 使用不安全代码快速从数组转 WriteableBitmap lindexi 2018-08-10 19:16:5 ...
- Leetcode532.K-diff Pairs in an Array数组中的K-diff数对
给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对.这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k ...
- PHP jpgraph的一点小提示和方法
PHP默认是不启用GD库的,因为需要在php.ini的配置文件中将extension=php_gd2.dll注释打开.打开后你就可以画一些你想画的各种奇葩图案了.什么?不会画?那回去学基础! 今天看了 ...
- TZ_05_Spring_事物的xml开发和annotation开发
1.Spring_事物的xml开发 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...