将不带www的定向到带www去
http://jingyan.baidu.com/article/59a015e3a2fe05f79488659c.html
-
1
这里我使用mod_rewrite重写URL的方式来做,做之前朋友记得检查一下你的apache是否已经加载了rewrite模块。如图所示的那个模块,在apahce的httpd.conf文件里面查看
-
2
如果已经支持了rewrite,直接在你要做的站点配置文件里面添加以下代码,注意修改域名为你要做的域名。
-----------------------------
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^php100.com
RewriteRule ^(.*)$ http://www.php100.com/$1 [R=permanent,L]
----------------------------------------------------------------
-
3
在这里判断当前服务器变量HTTP_HOST是否等于php100.com,为真就进行重写,按照R=permanent进行永久重定向,L表示并立即停止重写操作,并不再应用其他重写规则。
END
很多Seoer新手因为刚接触SEO行业,认识到了301重定向的重要性,但是确不知道如何操作。笔者特将Apache服务器实现301重定向的详细步骤分享给大家。后面也陆续会分享PHP、ASP、ASP.net、ColdFusion等情况下301重定向的方法。首先,笔者还是普及下什么是301?
301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。下面说下两种情况下的301重定向方法。
<Directory />
Options FollowSymLinks
AllowOverride None
把其中的AllowOverride None改为AllowOverride All,然后重启apache。
2
建立.htaccess文件
新建txt文件,选择另存为,命名为.htaccess
编辑跳转规则
把下面的三行内容复制到这个文件中
最后把58nin.com以及www.58nin.com替换成自己的域名就ok了
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^58nin.com [NC]
RewriteRule ^(.*)$ http://www.58nin.com/$1 [L,R=301]
--------------------------------------------------------------------------------------------------------------------------------------
一、建立一个301.php(文件名自取)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php
$the_host
=
$_SERVER
[
'HTTP_HOST'
];
//取得当前域名
$the_url
= isset(
$_SERVER
[
'REQUEST_URI'
]) ?
$_SERVER
[
'REQUEST_URI'
] :
''
;
//判断地址后面部分
$the_url
=
strtolower
(
$the_url
);
//将英文字母转成小写
if
(
$the_url
==
"/index.php"
)
//判断是不是首页
{
$the_url
=
""
;
//如果是首页,赋值为空
}
if
(
$the_host
!==
'www.icoa.cn'
)
//如果域名不是带www的网址那么进行下面的301跳转
{
header(
'HTTP/1.1 301 Moved Permanently'
);
//发出301头部
}
?>
|
其中if($the_host !== 'www.icoa.cn')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将icoa.cn跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的www.icoa.cn。
因为有朋友留言说首页跳转之后网址里会出现/index.php,于是增加了一个判断是否是首页的语句。
二、在网页文件中调用301.php
1
|
<?php
include
(
"301.php"
);
//301重定向 ?>
|