搜索优化 seo
当前位置:首页 > 网站营销 > 搜索优化
浅谈301重定向中规则的语法
发布日期:2011-03-11 阅读次数:662 字体大小:

301重点向一直是很多seoer都接触过的,我相信很多站在在做301的时候只是去网上找下相关规则,然后改下,可以说很多人并不知道规则的意思,今天本人以“Apache服务器”和“IIS服务器”为例就给大家分享下,如有不对,还请原谅。

如果网站服务器是Apache,在.htaccess文件开始处加入一下规则(如果没权限修改, 请联系服务提供商协助修改):

RewriteCond %{http_host} ^domain.com NC

RewriteRule ^(.*)$ http://www.domain.com/$1 R=301,L

{HTTP_HOST}是服务器变量

^是匹配输入字符串的开始位置。

$是匹配输入字符串的结束位置。

R=301就是执行永久重定向,由于R还有302的意思,所以这这里强调下R=301,

L是规则结束的意思

一个最常用的正则就是(.*)。它含有两个元素:一是“点”,表示任意字符;二是“星”,表示以前的全部字符。所以(.*)会匹配{REQUEST_URI}的所有字符。{REQUEST_URI}是URL中出去域名以及“?”符号的所有查询字符,也是Apache 重写技术尝试匹配的字符。

NC告诉Apache服务器忽略正则中的大小写,它经常被用到{HTTP_HOST}服务器参数上,因为域名里面是不会区分大小写的;

如果网站服务器是IIS,要使用ISAPI_Rewrite组件,在httpd.ini文件开始处加入以下规则:

RewriteCond Host: ^domain\.com$

RewriteRule (.*) http\://www\.domain\.com$1 R,I

^是匹配输入字符串的开始位置。

$是匹配输入字符串的结束位置。

(.*)会匹配{REQUEST_URI}的所有字符。

I是不管大小写强行指定字符匹配,这个FLAG影响RewriteRule指令和相应的RewriteCond 指令。

R是强制服务器对客户端发出重定向指示即时应答,提供目的URl的新地址,重定向规则经常是最后规则。

\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。

注:以上代码domain.com均为示例,如有描述不正确还请指出,本文由杭州婚外情调查公司http://www.hydc007.com站长编写,转载请保留。

感谢 杭州私人侦探 的投稿