官方微博: 腾讯  
首页 > ECSHOP教程 > ECSHOP二次开发 > 其他ECSHOP教程 > ECSHOP网站利用.htaccess实现301重定向

ECSHOP网站利用.htaccess实现301重定向

ECSHOP教程 / ecshop 教程网(www.ecshop119.com) 2012-05-04

301重定向的作用:1.规范网址;2.排除了重复页面;3.增加网址权重

下面我们就利用.htaccess 实现ECSHOP网站的301重定向,
将“不带WWW的域名”重定向到“带WWW的主域名”上:

首先打开你的ECSHOP网站根目录下的 .htaccess 文件,在

RewriteEngine On

下面增加两条指令

RewriteCond %{http_host} ^主域名.com [NC]
RewriteRule ^(.*)$ http://www.主域名.com/$1 [R=301,L]

至此就大功告成了,很简单吧,
下面章节属于题外话,捎带着讲点别的。

如果你的ECSHOP网店绑定了好几个域名,
你还可以用301将绑定的其他域名重定向到主域名上: 注意这个地方,有RewiteEnginee on这句,
RewriteEngine on
RewriteCond %{HTTP_HOST} ^其他域名.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.其他域名.com$
RewriteRule ^(.*)$ http://www.主域名.com/$1 [R=301,L]

===========================================================================

下面再捎带着讲一下 RewriteCond 指令:

RewriteCond详解
Syntax: RewriteCond TestString CondPattern [flags]

RewriteCond指令定义一条规则条件。放在 RewriteRule 指令前面。
在一条RewriteRule指令前面可能会有一条或多条RewriteCond指令,
只有当自身的模板(pattern)匹配成功且这些条件也满足时规则才被应用于当前URL处理。

TestString是一个字符串,除了包含普通的字符外,还可以包括下列的可扩展结构:

%{ NAME_OF_VARIABLE } , 服务器变量。

变量的名字如下表(分类显示)
HTTP headers:
 connection & request:  server internals:  system stuff:
HTTP_USER_AGENT REMOTE_ADDR DOCUMENT_ROOT TIME_YEAR
HTTP_REFERER REMOTE_HOST SERVER_ADMIN TIME_MON
HTTP_COOKIE REMOTE_USER SERVER_NAME TIME_DAY
HTTP_FORWARDED REMOTE_IDENT SERVER_ADDR TIME_HOUR
HTTP_HOST REQUEST_METHOD SERVER_PORT TIME_MIN
HTTP_PROXY_CONNECTION SCRIPT_FILENAME SERVER_PROTOCOL TIME_SEC
HTTP_ACCEPT PATH_INFO SERVER_SOFTWARE TIME_WDAY
 QUERY_STRING  TIME
 AUTH_TYPE

 RewriteCond 指令后面还可带 Flag, 现在只有2个可用,
一个是 NC|nocase, 不区分大小写的意思. 一个是 OR|ornext 表示连接下一个条件的意思.
RewriteCond 实际需要使用情况比如要判断一个条件成真的时候才执行相关的重写操作. 紧接着它下面的 RewriteRule 总是在RewriteCond 条件判断为真的时候才被执行.

我们来看下面的一个例子:
#开启服务器重写模式
RewriteEngine on
#来自 www.ecshop119.com 的连接访问本站时都只能访问 test.php 这页.
RewriteCond %{HTTP_REFERER} (www.ecshop119.com)
RewriteRule (.*)$ test.php
#来自 www.ecshop119.com 的连接访问本站时都只能访问 newTest.php 这页.
RewriteCond %{HTTP_REFERER} (www.ecshop119.com)
RewriteRule (.*)$ newTest.php

OK, RewriteCond 就介绍到这里了. 其实很简单. 就想程序里的 if() 这样的效果

转载请注明:ECshop119模板屋-ECshop教程网(全国最专业的ECSHOP插件制作商-专业ECSHOP二次开发)

帮助目录

在线反馈

可以将问题或建议反馈给我们。

提交在线反馈

与网友交流ECSHOP开发修改。

加入QQ群交流