先前我们在静态网页如何正确设定301重定向提过各种301永久重定向语法,这次要教大家使用.htaccess来进行301 Redirect。
如何建立.htaccess?
首先您的server必须是apache系统,通常您使用PHP空间的话,那就是使用apache。在网页的根目录下,通常可以找到一个.htaccess的档案,若没有则需自已建立一个。由于在Windows中无法建立以点为开头的档案,故我们先建立一个htaccess.txt档,上传至FTP后再修改档名为.htaccess即可。(若上传至FTP后找不到档案,须在FTP软件设定强制显示隐藏档案)
使用.htaccess来进行301重定向
htaccess 301重定向语法基础介绍
在网站根目录建立好.htaccess后,接着用任何notepad软体开启就可以直接写入语法。
以下为301 redirect的各种运用方式:
# 进入到您的域名后即301 redirect到其它域名
Redirect 301 / http://example.com/
# 进入到old.html后即301 redirect到其它域名的子目录下
Redirect /old.html http://example.com/newdirectory/
# 进入旧的网址即301 redirect至新的网址
Redirect /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html
htaccess 301重定向的进阶SEO用法
一般网站都会有网址不一致的情怳,什么是网址不一致?即输入www.domain.com或www.domain.com/index.php或是输入没有www的网址都可进到首页,一般人可能感觉不出有影响,但对搜索引擎来说只要网址不同就是不同页面,因此我们看似差不多的网址,其实搜索引擎并不这么认为。
所以我们要教大家如何维持网址的一致性,让从index.php进来的或是从没有www进来的统一都用301永久重定向的方式转到www.domain.com
# 以下两行不可省略
Options +FollowSymLinks
RewriteEngine on
# 将index.php 转到 /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
# 将没有www 转到有 www
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]