樂思蜀的博客,包括但不限于SEO&SEM研究、应用中的心得体会,互联网、搜索引擎观察与思考。

国外主机 406 Not Acceptable 的解决方法

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一下 :P

IIS Rewrite 下载与配置

2009年01月22日 by 樂思蜀

Apache 下启用与设置 Rewrite 是很简单的事,也很灵活;但IIS下Rewrite需要添加组件,通过筛选器的方式实现,下面是组件下载与配置方法。

IIS Rewrite 下载

点击这里下载 IIS Rewrite 组件

IIS Rewrite 配置

1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下。

IIS Rewrite

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

IIS Rewrite

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

IIS Rewrite

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

IIS Rewrite

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

IIS Rewrite

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

IIS Rewrite

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

IIS Rewrite

8、重启IIS。

IIS Rewrite

IIS Rewrite

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

IIS Rewrite

IIS Rewrite 规则设置

解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。

安装方法压缩包中 Readme.txt 也有说明。

尼尔森F形状网页浏览模式

2008年04月22日 by 樂思蜀

今天,樂思蜀给大家分享一项有点老的、但非常经典的研究。

Jakob Nielsen2006年4月,美国长期研究网站可用性的著名网站设计师杰柯柏·尼尔森(Jakob Nielsen)发表了一项《眼球轨迹的研究》报告(原文:F-Shaped Pattern For Reading Web Content)。

报告中提出,大多数情况下浏览者都不由自主的以“F”形状的模式阅读网页,这种基本恒定的阅读习惯决定了网页呈现F形的关注热度(见附图)。

F形状网页浏览模式的形成

研究表明,浏览者打开网页后,按照下面的习惯形成F形网页浏览模式:

F形状浏览模式形成

第一步:水平移动

浏览者首先在网页最上部形成一个水平浏览轨迹。

第二步:目光下移,短范围水平移动

浏览者会将目光向下移,扫描比上一步短的区域。

第三步:垂直浏览

浏览者完成上两步后,会将目光沿网页左侧垂直扫描;这一步的浏览速度较慢,也较有系统性、条理性。

附图:F形状网页浏览模式

下面为杰柯柏·尼尔森报告中的3张热度图,用颜色来表示浏览者眼光聚集的热度,分为最热(红色)、较热(黄色)、不热(蓝色)和基本不关注(灰色)4种。其中图3搜索结果页因SERP中网站标题、网页摘要较宽,第二条线会随之加长,但仍然是F形状。

F形状网页浏览模式:一般说明性网页

图1 一般说明性网页

F形状网页浏览模式:电子商务网页

图2 电子商务网页

F形状网页浏览模式:Google搜索结果页

图3 Google搜索结果页

WordPress博客robots.txt写法

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写的最合理 :P

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”,检查文件有效性。

301转向代码合集

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转向情况检测

  1. http://www.seoconsultants.com/tools/headers.asp
  2. http://www.internetofficer.com/seo-tool/redirect-check/