修改 .htaccess 实现 301 重定向

出于 SEO、PR 值传递、网址转换的目的,在网站初建和网站迁移时我们都需要使用 301 重定向,通常包括域名对域名,目录对目录和一个独立网址对另一个独立网址的重定向。在虚拟主机上作 301 重定向,最常用的方法有2种:

1.直接编辑 .htaccess。

2.用 cPanel 设定。

实质二者都是修改文件 .htaccess,只是前者手工编辑,后者是由 cPanel 完成。用 cPanel 操作相当简单,登陆你的 cPanel–>Domain–>Redirects,选择相应的选项即可完成设置,这里暂不讨论。下面讲一下直接编辑 .htaccess 的方法。

注意:在设置 301 重定向之前务必备份相应目录下的.htaccess文件。

1.重定向domain.com到www.domain.com

这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

2.重定向www.domain.com到domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

3.重定向olddomain.com到www.newdomain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]

4.重定向olddomain.com to newdomain.com

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php

RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]

Comments

13 responses to “修改 .htaccess 实现 301 重定向”

  1. […] 修改 .htaccess 实现 301 重定向 十.23, 2009 in 随心杂谈 | 1 位读者 修改 .htaccess 实现 301 重定向 « Wopus中文博客平台 – WordPress […]

  2. Rtrash|废纸篓 Avatar
    Rtrash|废纸篓

    估计cpanel是最快的l

  3. […] .htaccess 实现 301 重定向:https://www.wopus.org/blog-article/seo-blog-article/1609.html 16个简单实用的.htaccess技巧:https://www.wopus.org/wordpress-deepin/tech/1271.html […]

  4. […] .htaccess 实现 301 重定向:https://www.wopus.org/blog-article/seo-blog-article/1609.html 16个简单实用的.htaccess技巧:https://www.wopus.org/wordpress-deepin/tech/1271.html […]

  5. […] .htaccess 实现 301 重定向:https://www.wopus.org/blog-article/seo-blog-article/1609.html 16个简单实用的.htaccess技巧:https://www.wopus.org/wordpress-deepin/tech/1271.html […]

  6. 皇家元林 Avatar

    那这种怎么弄呢?
    以前的http://w7c.info/html/20091203/bbs-ylgod-cn-unbinding/
    重定向到http://w7c.info/bbs-ylgod-cn-unbinding/
    这样的,可以吗?

  7. […] RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]原文链接:https://www.wopus.org/blog-article/seo-blog-article/1609.html发表评论评论RSS引用 ( 0 )评论 ( 0 )还没有评论。 […]

  8. airmax Avatar

    好文章,学习了,修改了网站.htaccess后,跳转成功;
    谢谢了!

  9. Proe起点学习网 Avatar

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

    第二行要带www吗?

  10. 好看的电影 Avatar

    实用的东西,经常用得着

  11. ZiYo Avatar

    谢谢,搞定了:)

  12. […] 刚刚发现博客的TAG全部是转到了404,怪不得百度只剩下30多篇收录,TAG都删除了。在wopus.org找到的关于WordPress修改 .htaccess 301重定向的方法,希望对大家有帮助。 我的修改后是: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteCond %{HTTP_HOST} !^www.83sun.com/index.php/$ [NC] RewriteRule ^(.*)$ http://www.83sun.com/$1 [L,R=301] […]