最新添加了一键加入服务器的功能,使用服务器的301重定向功能实现域名前面自动添加www的功能...

使用服务器的301重定向功能实现域名前面自动添加www的功能

作者:随然 日期:2011-11-01

字体大小: 小 中 大

a460df6b55e6fe86a9fd061aeec4b3e9.gif

21a245d4b691264d3d0e9ed20ca73b89.gif

3e916cf4c4e75b2741dd1bc7e9999118.gif

在域名前面自动添加www 大概有几个原因。

一是对搜索引擎友好,如果 abc.com 和 www.abc.com 绑定到同一个网站,那么访问的内容会完全相同。百度会认为一个网站抄袭另一个网站,会降低权重。

二是现在某些空间商的双线空间使用的是CDN技术不是很成熟,需要将域名做别名解析到空间商提供的一个网址上。如果直接解析到IP将不能自动判断用户来路。由于现在的域名服务商大多不提供不带www的域名做别名解析,所以将不带www的域名转向到带www的域名就很重要。

一般有两种方法。

1、.htaccess方法。

2、ISAPI_Rewrite支持后的,httpd.ini的书写。

这里说明一下情况,.htaccess文件,一般是在Linux主机里面使用(也包括windows主机下的apache服务器)。使用方法相对简单。

ISAPI_Rewrite呢,则是针对windows主机(IIS)的一个重写插件。具体是设置,则是在httpd.ini文件里面书写。

另外提醒一点,.htaccess和httpd.ini文件均需要传至网站根目录生效。

windows主机设置方法:

1、给安装好的Rewrite文件夹上点右键,选择“属性”->“安全”->“添加”->“高级”->“立即查找”,会找到一项IIS_WGP,双击添加,确定即可。

2、打开控制面板里的Internet 信息服务,打开网站的属性对话框里面有一项“isapi筛选器”,点击“添加”,“筛选器名称”填Rewrite,“可执行文件”项点击“浏览”,选择刚才安装的ISAPI_Rewrite的安装目录中的ISAPI_Rewrite.dll,确定即可。重启iis。

3、修改安装目录中的httpd.ini文件(如果这个文件为“只读”属性,则去掉“只读”之后再修改) ,添加该文件的IIS_WGP组的读写权限(如果不添加权限,该功能无法使用)

1、下面说一下Linux主机下的301重定向,.htaccess的书写方法。

.httaccess文件代码:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^abc.com [NC,OR]

RewriteCond %{HTTP_HOST} ^www.abc.com [NC,OR]

RewriteCond %{HTTP_HOST} ^123.com [NC]

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

这是两个域名,如果在有多个域名在增加RewriteCond %{HTTP_HOST} ^yourname.com [NC,OR]

如果单单只把不带www的地址重定向到带www的地址,代码如下:

RewriteCond %{HTTP_HOST} ^abc.com [NC]

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

这样就完成了http:// abc.com 重定向到 http://www.abc.com,http://123.com 重定向到 http://www.123.com

再说一下Linux主机下的伪静态,.htaccess的书写方法。

因为伪静态不是硬性的书写,而是针对不同的需求进行书写的,所以我这里就把之前对DZ论坛的伪静态的书写规则写出来,以供参考。

.httaccess文件代码:

RewriteEngine On

# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /

RewriteBase /

# Rewrite 系统规则请勿修改

RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1

RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2

RewriteRule^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2

RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2

RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

2、下面说一下windows主机下的301重定向,httpd.ini的书写

这里需要声明的是,因为ISAPI_Rewrite的版本有多个,所以书写方式也各有不同。

另外说一下,现在国内很多主机都是1.3版本的,它可用于url 重写,但并不适合用来实现真正的301重定向功能。使用前,请先咨询空间商ISAPI_Rewrite的版本。

1. 将不带www的顶级域名301重定向到带www的域名

注意:请确认服务器的 ISAPI_Rewrite 组件版本,如果版本不一样,写法略有差别。

# ISAPI_Rewrite 1.3 版本(此处为302状态码。)

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^abc\.com$

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

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^abc.com$

RewriteRule (.*) http://www.abc.com$1 [I,RP]

# ISAPI_Rewrite 3.0 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond %{HTTP:Host} ^abc.com$

RewriteRule (.*) http://www.abc.com$1 [NC,R=301]

2. 不同域名之间的301转向

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond %{HTTP:Host} ^163.com$

RewriteRule (.*) http://www.126.com$1 [NC,R=301]

# ISAPI_Rewrite 3.0 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond %{HTTP:Host} ^www.163.com$

RewriteRule (.*) http://www.abc.com$1 [NC,R=301]

3. 将页面301重定向到另外一个页面

# ISAPI_Rewrite 2.x 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^/oldpage.html$ http://www.abc.com/newpage.html [I,O,RP,L]

# ISAPI_Rewrite 3.0 版本

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^/oldpage.html$ http://www.abc.com/newpage.html [NC,L,R=301,O]

下面再说一下window主机下的伪静态,下面我列举一下,之前写的一个ASP的伪静态,以供参考。

httpd.ini 内容示范:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

#简体中文设置

RewriteRule /index\.html /index.asp

RewriteRule /Login\.html /Login.asp

RewriteRule /Reg\.html /Reg.asp

RewriteRule /Getpwd\.html /getpwd.asp

RewriteRule /Notice\.html /work.asp

RewriteRule /Prclass\.html /Prclass.asp

RewriteRule /Doclass\.html /Doclass.asp

RewriteRule /Neclass\.html /Neclass.asp

RewriteRule /About\.html /About.asp

RewriteRule /bbs\.html /bbs_index.asp

RewriteRule /About(\d+)\.html /About\.asp\?ID=$1 [N,I]

RewriteRule /news_content(\d+)\.html /worki\.asp\?ID=$1 [N,I]

RewriteRule /Products(\d+)\.html /Products\.asp\?ID=$1 [N,I]

RewriteRule /Prclass(\d+)\.html /Prclass.asp\?ID=$1 [N,I]

RewriteRule /Prclass.html\?page=(\d+) /Prclass.asp\?page=$1 [N,I]

RewriteRule /down(\d+)\.html /down.asp\?ID=$1 [N,I]

RewriteRule /Doclass(\d+)\.html /Doclass.asp\?ID=$1 [N,I]

RewriteRule /Doclass.html\?page=(\d+) /Doclass.asp\?page=$1 [N,I]

RewriteRule /News(\d+)\.html /news.asp\?ID=$1 [N,I]

RewriteRule /Neclass(\d+)\.html /Neclass.asp\?ID=$1 [N,I]

RewriteRule /Neclass_page(\d+)\.html /Neclass.asp\?page=$1 [N,I]

RewriteRule /info(\d+)\.html /inform.asp\?ID=$1 [N,I]

[本日志由 随然 于 2011-11-01 05:01 PM 编辑]

2a6d8000fb37b7013490bb3e03710b4d.gif上一篇: 国内主要CMS内容管理系统使用总结

bd5e19f51257861698d6f037c8f06a84.gif下一篇: 网站301重定向的相关问题

f27a0712988f9c7dc47714af4e369cfb.gif文章来自: 本站原创

63fbd4bc81d37aed9da04321cdca7fd6.gif引用通告: 查看所有引用 | 我要引用此文章

6885b832aa4b5fd98aa72dc2928fafdb.gifTags: 网站 服务器

457ff012a2da8714aabb7809068430a2.gif相关日志:

评论: 0 | 引用: 0 | 查看次数: 8764

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值