2010年03月22日 by 樂思蜀
前几天推荐了 Justhost主机,今天发现了一个问题并成功解决,现将方法分享给大家。经观察,可能出现 406错误的不只Justhost,所以统称国外主机解决方法,没有出现过 406错误的主机忽略本文。
故障现象:访问网站某些功能时,出现“406 Not Acceptable”错误(如樂思蜀在SEO论坛中查看某用户的资料,或操作用户信息时)。
故障原因:Justhost主机默认开启了Mod security,增加网站安全性。当用户访问的URL中包含“%”等敏感字符,就会被Mod security拦截掉,所以会出现406错误。
说明:
首先,Justhost 现在使用的是新版本的 Mod security,在网上搜索到其他文章资料中介绍的使用.htaccess控制 Mod security 选项的方法已经不能使用了,大家不必去尝试。
其次,使用下面方法,Justhost 技术人员会为你关掉 Mod security,就意味着网站将没有 Mod security 的保护,所以具有很高安全要求的网站应三思。
解决方法:
现在使用.htaccess文件不能控制了,老樂尝试联系 Live Chat,告知他们解决不了,需要发邮件,或登录帐户提交Ticket。
发一封邮件到:support@justhost.com,内容大致如下(将红色部分和蓝色部分替换为你的域名和Justhost帐户名):
Hello, I am sorry to bother you! I hope you can help me disable the Mod security for this domain: ???.com, my cpanel account name is ???. Because my URL must contain the characters "%", but the Mod security led to the error, thanks very much!
一般30分钟之内,会收到技术人员的邮件,告知已经 disabled mod_security;并要求回复邮件,反馈一下情况,网站是否完全工作正常。
再访问网站,会发现 406错误已经解决;回复一下 Support吧,Everything is OK,再Thanks一下
2009年01月22日 by 樂思蜀
Apache 下启用与设置 Rewrite 是很简单的事,也很灵活;但IIS下Rewrite需要添加组件,通过筛选器的方式实现,下面是组件下载与配置方法。
IIS Rewrite 下载
IIS Rewrite 配置
1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下。

2、在“IIS管理器”里选择网站,右键,属性。

3、选择“ISAPI”,点击“添加”。

4、填入筛选器名称,如“rewrite”。

5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。

6、确认选择正确后,点击“确定”。

7、点击“确定”,完成筛选器添加。

8、重启IIS。


9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。

IIS Rewrite 规则设置
解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。
安装方法压缩包中 Readme.txt 也有说明。
2008年04月22日 by 樂思蜀
今天,樂思蜀给大家分享一项有点老的、但非常经典的研究。
2006年4月,美国长期研究网站可用性的著名网站设计师杰柯柏·尼尔森(Jakob Nielsen)发表了一项《眼球轨迹的研究》报告(原文:F-Shaped Pattern For Reading Web Content)。
报告中提出,大多数情况下浏览者都不由自主的以“F”形状的模式阅读网页,这种基本恒定的阅读习惯决定了网页呈现F形的关注热度(见附图)。
F形状网页浏览模式的形成
研究表明,浏览者打开网页后,按照下面的习惯形成F形网页浏览模式:

第一步:水平移动
浏览者首先在网页最上部形成一个水平浏览轨迹。
第二步:目光下移,短范围水平移动
浏览者会将目光向下移,扫描比上一步短的区域。
第三步:垂直浏览
浏览者完成上两步后,会将目光沿网页左侧垂直扫描;这一步的浏览速度较慢,也较有系统性、条理性。
附图:F形状网页浏览模式
下面为杰柯柏·尼尔森报告中的3张热度图,用颜色来表示浏览者眼光聚集的热度,分为最热(红色)、较热(黄色)、不热(蓝色)和基本不关注(灰色)4种。其中图3搜索结果页因SERP中网站标题、网页摘要较宽,第二条线会随之加长,但仍然是F形状。
![]()
图1 一般说明性网页
![]()
图2 电子商务网页
![]()
图3 Google搜索结果页
2008年04月02日 by 樂思蜀
使用WordPress搭建的博客,利用robots.txt文件限制搜索引擎抓取部分目录及文件,归纳大致有以下几种方法。
最简单的开放写法
不作任何限制,WordPress站内链接结构比较合理,作为一般博客,完全开放就可以了,代码:
User-agent: *
Disallow:
允许所有蜘蛛访问,允许访问所有内容。WordPress只要模板中链接设计合理,没有需要限制的特殊内容,推荐使用这种写法。
最简单的严格写法
User-agent: *
Disallow: /wp-*
#Allow: /wp-content/uploads/
Disallow: /*.php$
Disallow: /*.inc$
Disallow: /*.js$
Disallow: /*.css$
Disallow: /?s=
允许所有蜘蛛访问,限制以“wp-”开头的目录及文件,限制抓取.php文件、.inc文件、.js文件、.css文件,限制抓取搜索结果。
Disallow: /wp-* 会连同附件目录一起限制抓取,如果想让搜索引擎抓取附件中的内容,将第三行的 # 号注释去掉。Allow 不是所有搜索引擎都支持。
最合理的写法
卖瓜的都说自己瓜甜,我也觉得自己的Robots.txt写的最合理
User-agent: *
Disallow: /wp-admin
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /wp-includes
Disallow: /?s=
Sitemap: http://www.lesishu.com/sitemap.xml
允许所有搜索引擎抓取,逐一列举需要限制的目录,限制抓取搜索结果。
包含sitemap.xml地址(这一项viki中有专门的说明,但Google管理员工具会提示‘检测到无效的 Sitemap 引用’,有效性尚有争议)。
robots.txt其他写法
为避免在搜索引擎中出现重复页面,WordPress玩家自创了很多robots写法,列举一些常用的,作为参考(适用于伪静态方式的永久链接):
Disallow: /page/
#限制抓取WordPress分页
Disallow: /category/*/page/*
#限制抓取分类的分页
Disallow: /tag/
#限制抓取标签页面
Disallow: */trackback/
#限制抓取Trackback内容
Disallow: /category/*
#限制抓取所有分类列表
最后,推荐使用 Google管理员工具,登录后访问“工具 -> 分析 robots.txt”,检查文件有效性。
2008年03月18日 by 樂思蜀
樂思蜀将SEO工作中所需要的301转向代码进行了整理,收藏并分享,以备查阅。
1、IIS下301设置
Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
2、ASP下的301转向代码
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.lesishu.com/articles/301/"
%>
3、ASP.Net下的301转向代码
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.lesishu.com/articles/301/");
}
</script>
4、PHP下的301转向代码
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.lesishu.com/articles/301/");
exit();
5、CGI Perl下的301转向代码
$q = new CGI;
print $q->redirect("http://www.new-url.com/");
6、JSP下的301转向代码
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.lesishu.com/" );
response.setHeader( "Connection", "close" );
%>
7、Apache下301转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^lesishu.com [NC]
RewriteRule ^(.*)$ http://www.lesishu.com/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.lesishu.com/$1 [L,R=301]
3)使用正则进行301转向,实现伪静态
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+).html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
8、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
<VirtualHost *:80>
ServerName www.lesishu.com
DocumentRoot /home/lesishu
</VirtualHost><VirtualHost *:80>
ServerName lesishu.com
RedirectMatch permanent ^/(.*) http://www.lesishu.com/$1
</VirtualHost>
Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读Apache文档。
301转向情况检测