Discuz触屏版链接删除尾巴(mobile=2)的方法

现在玩手机的越来越多,DZ的手机模板地位也越来越高,DZ手机版又分触屏版和简易版。现在简易版已经毫无意义,一般说DZ的手机模板就指触屏版。

我们用来区分手机版是触屏版还是简易版等链接是通过&mobile=X来区分。所以现在基本上是&mobile=2;

那么问题就来了,带有&mobile=2的链接在PC上访问是进入misc.php?mod=mobile这个页面,有人会说这有什么关系呢?

这就得说说我们最最关心的了,搜索引擎现在也在大力发展手机方面内容,它有可能收录到带有&mobile=2的链接,那么在PC上访问到这样的链接就惨不忍睹了。

方法如下:

第一步:

找到文件/source/class/helper/helper_mobile.php中:

$content = preg_replace(“/href=\”(\w+\.php)(.*?)\”/e”, “mobilereplace(‘\\1’, ‘\\2’)”, $content);

复制代码

将其删除或者注释掉即可;

第二步:

查找文件/source/function/function_core.php中:

function dheader($string, $replace = true, $http_response_code = 0)

复制代码

将其下面的:

if(defined(‘IN_MOBILE’) && strpos($string, ‘mobile’) === false && $islocation) {

if (strpos($string, ‘?’) === false) {

$string = $string.’?mobile=’.IN_MOBILE;

} else {

if(strpos($string, ‘#’) === false) {

$string = $string.’&mobile=’.IN_MOBILE;

} else {

$str_arr = explode(‘#’, $string);

$str_arr[0] = $str_arr[0].’&mobile=’.IN_MOBILE;

$string = implode(‘#’, $str_arr);

}

}

}

复制代码

删除或者注释掉即可。

这样做之后再手机上访问和PC上访问的是同一个链接,也能正常访问手机版,需要注意的是要设置默认手机版是触屏版,相信现在没人不是这么设置。

这样修改还有一个好处就是理论上会减些轻服务器负担,提升速度虽然人难体会得到。

本文地址:http://itbyc.com/cms/discuz/18138.html
转载请注明出处。

win10 64位安装memcache扩展和开启redis扩展

下载文件

附件有memcached的安装文件和php5.2到php5.6的memcache扩展文件,php_redis.dll下载地址:http://windows.php.net/downloads/pecl/releases/redis/2.2.7/

安装扩展

解压memcached那个压缩文件到任意位置,比如说D盘datas文件夹下。找到cmd.exe(c:\windows\system32\cmd.exe),右键以管理员方式运行(否则会提示failed to install service or service already installed),输入D:回车,接着cd到memcached解压的那个文件夹下执行memcached -d install命令安装,回车,如果没有任何提示则表示安装成功,再输入memcached -d start回车,开启memcached进程,如图所示,可以在服务中看到memcached正在运行

开启扩展

将附件中php_memcache扩展解压到php安装目录下的ext文件夹中,选择好适应的版本,之前安装的php版本是php-5.5.37-Win32-VC11-x64,从phpinfo函数可以看出php版本信息,如下图,所以我选择了php5.5-ts-vc11-x64版本的php_memcache扩展,在php.ini中extension添加一条extension=php_memcache.dll,同理将下载的phpredis扩展解压到php安装目录下的ext文件夹中,在php.ini中extension添加一条extension=php_redis.dll


重启Apache服务器

打开测试文件写入phpinfo()函数,如图所示则表示扩展安装成功。


继续编辑测试文件 输入如下代码

<?php  
    //phpinfo();
    $memcache = new Memcache();  
    $memcache->connect('127.0.0.1', 11211 ) or die ( "Could not connect Memcached server!" );    
    $memcache->set( 'Memcache', "hello Memcache!<br/>");  
    echo $memcache->get('Memcache'); 
    echo "<br>";
    $redis = new Redis();  
    $redis->connect("192.168.1.103","6379");  //php客户端设置的ip及端口  
    //存储一个值  
    $redis->set("say","Hello redis ");  
    echo $redis->get("say");     //Hello redis 
?> 

输出hello Memcache!配置成功!
附件:
http://files.cnblogs.com/files/weblm/memcached%E6%89%A9%E5%B1%95.rar

转载:http://www.cnblogs.com/weblm/p/5793030.html#_labelTop