【记录】国内用户使用谷歌字体

以前大家都是用的360的,现在360的关了,去年就关了。所以咋办,我记得谷歌字体后来有一个谷歌自己国内版本?今天百度果然第一个就是,然后打开是一个页面,我尝试替换了下也确实可以引用。

  1. 找到类似
  2. <link href=“//fonts.googleapis.com/css?family=***” rel=“stylesheet” type=“text/css” />
  3. 替换域名部分
  4. <link href=“//fonts.googlefonts.cn/css?family=***” rel=“stylesheet” type=“text/css” />

opencart的话在:catalog/view/theme/*/template/common/header.tpl

OC后台在:admin/view/stylesheet/stylesheet.css 的第一行

其他程序根据实际情况查找,最笨的方法是用编辑器批量搜索。或者熟悉框架根据框架查找,比较可能的一般在header footer 文件,或者CSS文件里引入。

如图:

.htaccess技巧–无法访问txt文件的解决办法和详解

一些程序,比如opencart的规则文件里面默认就禁止了txt文件的访问,可是有时候我们又需要它可以访问。比如百度的验证文件,怎么办呢?

在.htaccess文件里面查看FilesMatch这种标签里的内容。例如:

  1. <FilesMatch “(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))”>
  2.  Order deny,allow
  3.  Deny from all
  4. </FilesMatch>

稍微细心的盆友都不难发现,其实只要去掉最后“或”符号和后面的内容即可。也就是:

  1. <FilesMatch “(?i)((\.tpl|\.ini|\.log))”>
  2.  Order deny,allow
  3.  Deny from all
  4. </FilesMatch>

只不过这样,所有的TXT文件都排除在外了,有的朋友指向指定的TXT文件可以访问。

  1. <FilesMatch “(?i)((\.tpl|\.ini|\.log|(?<!robots)(?<!baidu)(?<!other)\.txt))”>
  2.  Order deny,allow
  3.  Deny from all
  4. </FilesMatch>

注意看:(?<!baidu) ,这个立马 ! 是排除,也就是排除 baidu.txt外的其他TXT文件。

上面这条规则就是屏幕tpl文件、ini文件、log文件、(除robots,txt、baidu.txt、other.txt外的)TXT文件的访问。

关于其他.htaccess的使用可以点击标签进入或者搜索关键词。

 

.htaccess技巧–301重定向规则的应用

上一篇介绍了.htaccess文件的基本规则来防止恶意解析。其实本文应该在那篇文章之前的,无所谓啦。

http 301 https

如果没有.htaccess文件,自己新建一个。如果有,则用文本编辑器编辑。

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{SERVER_PORT} !^443$
  4. RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

上面这段百度很多,不过对于opencart来说有点不适合,伪静态的网址会有点奇怪。干脆这样写吧。

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{SERVER_PORT} !^443$
  4. RewriteRule ^(.*)$ https://www.yoururl.com/$1 [L,R=301]
  5. # 也可以是:
  6. # RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [L,R=301]

非www重定向到www

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{HTTP_HOST} ^yoururl.com [NC]
  4. RewriteRule ^(.*)$ http://www.yoururl.com/$1 [L,R=301]

当然了,也可以两个结合,如果这样,可以分开两条写,也可以写成一条。上一篇文章介绍过了,L这里是结束的意思,所以在L前面多写几个前提是可以的。

混合应用

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{SERVER_PORT} !^443$
  4. RewriteRule ^(.*)$ https://www.yoururl.com/$1 [L,R=301]
  5. RewriteCond %{HTTP_HOST} ^yoururl.com [NC]
  6. RewriteRule ^(.*)$ https://www.yoururl.com/$1 [L,R=301]
  7. # 或者如下:
  8. RewriteEngine On
  9. RewriteBase /
  10. RewriteCond %{SERVER_PORT} !^443$
  11. RewriteCond %{HTTP_HOST} ^yoururl.com [NC]
  12. RewriteRule ^(.*)$ https://www.yoururl.com/$1 [L,R=301]

其他关于htaccess文件的应用,可以搜索“.htaccess”,文章点击文章下面的标签哈。

.htaccess技巧– 防止独立IP被恶意解析

今天看了一下Rewrite的基本语法,由于文章是别人写的,我这里就不写一样的了。突然想起来以前转过一篇关于防止独立IP网址被恶意解析的文章,下面给出另一个方案。

一本正经

我们先来了解下,根据语法介绍:“!”代表不是,和PHP是一样的哈。

那么根据301的写法,我们可否变通下呢?答案是肯定的。

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{HTTP_HOST} !yoururl.com [NC]
  4. RewriteRule ^(.*)$ http://www.yoururl.com/404.html [L,R=301]

如果默认就有.htaccess文件,那么前两行都已经有了,第三四行写在下面即可。其中这里就判断了域名不是yoururl.com的时候,301到自己的404页面或者别的预设的网址也可以。

但是细心的网友会发现,可是我不仅仅绑定一个域名啊。我还想IP可以直接访问呢?

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{HTTP_HOST} !yoururl.com [NC]
  4. RewriteCond %{HTTP_HOST} !www.yoururl.com [NC]
  5. RewriteCond %{HTTP_HOST} !127.0.0.1
  6. RewriteRule ^(.*)$ http://www.yoururl.com/404.html [L,R=301]

这样变通下就好了嘛。

题外话

NC是啥意思呢?其实就是不区分大小写。

L则是这条规则结束了。

R是重定向。

其他的嘛有兴趣自己去研究。

关于.htaccess文件的其他用法

wordpress技巧-利用.htaccess拒绝spam机器人评论

转载-如何防止独立ip空间被其它域名恶意解析

wamp技巧之–升级降级PHP版本

有时候,PHP版本过低或者过高,会影响我们的开发和调试等。好在wamp支持多个PHP版本共存。

首先,有一点是需要注意的,一开始我并没有注意于是造成了折腾很久的现象。

下载对应文件

先查看WAMP是X86的版本还是X64的版本,如果回忆不起来自己安装的版本,可以在wamp目录下的wampmanager.conf里面查看,由于我装的是X64,这个地方如图所示,X86的不知道会是显示什么,反正不显示X64的就是X86版本了。

wamp-X64

由于是X64的,所以PHP也需要下X64的,否则没法子用。之前我自己就折腾了一些时间才发现好像不对,才去看版本,才发现下的X86是没法子用的,去下了个X64才可以。

那么,选择就是PHP版本、非NTS版、对应系统位数。如果比较旧的版本,php.net可能找不到,就去百度找,有一些第三方的会保留。

准备工作

然后,停止wamp,可以右键退出,也可以左击选择停止服务。

wamp-X64-2

开始新增

假设我下了一个5.3.29的版本,我在 !:\wamp\bin\php 目录下建立一个php5.3.29 的文件夹。把下载好的PHP解压放进去。

wamp-php5329-1

然后,在原先默认的PHP里面,提取四个文件复制到这个文件下面。分别是:

wampserver.conf

php5apache**.dll

php.ini

phpForApache.ini

【另外,由于原本的PHP版本有 zend_ext 这个文件夹,所以我这里也一并复制过去了。】

wamp-php5329-2

复制过来后,编辑php.ini 和 phpForApache.ini ,把里面涉及原PHP版本号的替换为现在的。比如我的原来是5.5.12,搜索“php5.5.12”替换为“php5.3.29”,然后保存修改。

wamp-php5329-3

完工

这个时候,准备的差不多了,我们打开 !:\wamp\bin\apache\apache**\bin 目录,删除php.ini。

然后重新启动wamp即可。

切换:这时候,左击wamp图标–PHP–version–选择版本即可。

可能遇到的问题:版本号不出现在这里,这时候重新选择一次当前版本号或者另一个版本号,然后会发现新增的也出现了。多尝试几次。

wamp-X64-3

mysql数据库某个表里的数据无法删除解决办法

今天,我在给客户网站处理一个问题的时候,需要涉及跑去数据库里面删数据,相应的表是“oc_pavblog_blog_description”,可是,打开这个表进去后发现这个表有一个错误:

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available

mysql-151230

说没有主键,无法删除和编辑巴拉巴拉,那么我们查看架构,发现没有主键,我把blog_id 设置为主键,但是提示错误,错误代码是:

#1062 – Duplicate entry ‘7’ for key ‘PRIMARY’

mysql-151230-2

主键被占用,其实和另一个表共同使用同一个主键,可是程序漏洞这个表的数据没删除干净,怎么办?

一:导出表的SQL文件,手动删。【数据不大的话还好】

二:建立一个别的主键,然后就可以删除了。

点击SQL,输入SQL语句:

  1. ALTER TABLE `oc_pavblog_blog_description` ADD `description_id` INT(11) NOT NULL AUTO_INCREMENT FIRSTADD PRIMARY KEY (`description_id`) ;

这个语句的作用是在oc_pavblog_blog_description 数据表建立一个新的字段,并且这个字段定义为主键。然后这个oc_pavblog_blog_description 表里面的数据就可以从phpmyadmin删除和编辑了。

mysql-151230-3

网站备案需要临时关闭站点怎么办?

大家都知道,网站备案是需要关闭站点的,备案通过后,才可以解析到国内。那么,之前在境外机房运行的时候,已经有一定的收录,一关闭,就元气大伤。。怎么办呢?

下面提供一个百度站长工具的方法。

首先注册百度账号,并且进入百度站长工具,验证域名。

验证有别名验证,TXT验证和head标签验证,推荐先用境外主机先访问验证下,用后面两个方法比较快捷。验证通过在设置,设置后再去备案。【由于图片丢失下面为补充图片

icp-off-web-1

验证后,在站长工具:http://zhanzhang.baidu.com/dashboard/index 页面,左边菜单选择:优化与维护-闭站保护-选择需要临时关闭的域名-点击“申请闭站”即可。【其实我没申请过,我是后来才发现这东西,申请需要过多久能通过审核坐等亲测了,不过没必要操作的情况不要乱申请哈。】

【由于图片丢失下面为补充图片】

icp-off-web-2

好吧,我其实是这次过渡备案成功后的12月21日才发现的。觉得还是写出来,方便后人使用。

实时推送页面给百度的方法

百度本身有提供几个提交网站页面的方法,其中,比较简单的就是增加JS了。代码如下:

【自动推送是百度站长平台为提高站点新增网页发现速度推出的工具,安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。】

把上面代码添加到页脚即可。

opencart目录:/catalog/view/theme/*/template/common/footer.tpl

wordpress目录:/wp-content/themes/*/footer.php

方法来源于百度站长工具。

三步解决回调信息错误-以支付宝付款成功后回调错误为例说明

商城搬迁到香港后,刚好是生意上遭遇冷淡时期,所以一直没关心独立商城上的生意,最近发现,商城付款后回调页面显示ERROR,并且没有回执信息到网站上,这,是怎么回事呢?今天早上打电话给支付宝技术支持,下午得到回复是说:fsockoceaopen函数被禁用,其实那个技术员拼写错了,是:fsockopen函数!下面说说三个解决方法:

首先找到php配置文件,我的是linux系统,用nginx+php+mysql,php配置文件:/usr/local/php/etc/php.ini

下载并保存一份php.ini文件,然后修改

第一步:搜索 allow_url_fopen = 看看 = 后面是On 还是off ,如果是off,改为on

第二步:搜索 extension=php_openssl.dll 把前面的  ; 号删除

第三步:找到大概 210 行 就是 disable_functions = 后面,看看有没有 fsockopen ,有的话,删除

三步都搞定之后,保存并且替换原文件!然后重启一次服务器,现在去弄个测试产品,测试成功可以回调了吧?而且网站也有收到回执信息!

PS:感谢 音讯 兄 帮忙排查错误,第一二步都是百度到的,可是弄了后不幸,音讯帮忙找到第三步,我忽略了这里,而且一开始我搜索的是 fsockoceaopen ,搞错了呢!

更新

opencart错误:Call to undefined method Loader::library()

简单两步解决UCenter忘记创始人UCenter Administrator密码

UCenter Administrator是UCenter的创始人密码,我们一般都用管理员身份登录,所以创始人密码就容易忘记了!前几天我想用创始人身份进入,突然发现已经忘记密码,下面来说一个很简单的方法,百度到的内容说的有点乱七八糟了!


建立一个uc_pass.php的php文件,代码如下:

  1. <?php  
  2. $ucfounderpw = ‘123456’;  
  3. $ucsalt = rand(100000,999999);  
  4. $ucfounderpw = md5(md5($ucfounderpw).$ucsalt);  
  5. echo $ucfounderpw.'<br />’.$ucsalt;  
  6. ?>  

把PHP文件扔到UC的目录下,如果是discuz或者discuz X的,放网站目录下/uc_server/ 目录下

然后访问该php文件,www.abc.com/uc_pass.php 或者你的是DZ程序就访问 www.abc.com/uc_server/uc_pass.php  这里的www.abc.com是假设你的域名!得到如图的界面:

然后把这两段串码记下来,打开/data/config.inc.php 或者/uc_server/data/config.inc.php 

找到第12行和第13行,看到如下代码:

define('UC_FOUNDERPW', '3858cdf611112222333344444553e8712');
define('UC_FOUNDERSALT', '900006');
把上面记录下来的两段串码替换这里的,然后保存即可!这时候你的UCenter Administrator密码被重设为123456
然后我们用创始人身份,密码123456 来登陆UCenter后台,选择管理员,修改创始人密码,原密码输入123456,然后自己输入新的创始人密码,保存即可!


如果不喜欢默认123456,那么,打开下载的uc_pass.php文件,把里面的123456替换自己喜欢的默认密码即可!弄完后删除该文件,保证网站安全要紧,别偷懒!