Apache下htaccess有关301重定向、404错误的设置

本文详细介绍了如何使用Apache服务器下的htaccess实现301永久重定向,包括各种场景下的实现方法,如不同目录下的网站、同一目录下的不同链接重定向、特定域名到根域名的重定向等,并提供了htaccess配置实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

换域名了,以前域名的收录怎么办?老域名的权重如何转移到新域名呢?百度搜索引擎优化手册里面说的是使用301永久重定向,那么如何灵活应用301重定向呢?下面就在站帮网说说apache服务器下使用htaccess来实现301永久重定向的方法。

你是同一目录下的网站,还是不同目录下的网站,如果是同一目录下的网站,就必需要地址判断,以免出现“此网页包含重定向循环;如何是不同目录下的网站,就可以直接弄转向,也就是所有来路域名都转;如果两域名在同一目录,请把伪静态规则放在 301的下面,即先转,再伪。

一、301 永久重定向:  

1、所有链接重定向首页: 可新建一个 index.php     (两站不同目录)

<?php

header('Location:http://www.nicenic.com');

?>

只首页重定向,贴子等都不重定向、不变

RewriteEngine on

RewriteCond %{HTTP_HOST} ^iisp.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.iisp.com$

RewriteRule ^/?$ "http://www.iisp.com" [R=301,L]

注:只首页重定向,内页、目录不重定向,访问还是原地址。[OR] 是 “或” 也就是使用带WWW和不带WWW的都转,应该可以加很多 [OR] 做条件。注意, [OR]条件判断,如果只一个条件,请把  [OR] 去掉。不然有可能出现: “此网页包含重定向循环”。

 

2、首页、贴子、目录都重定向iisp.com 的首页、 或指定页:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^iisp.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.iisp.com$

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

注:首页、内页、目录都重定向到iisp.com的首页。

(以上为两站同一目录下使用,如果网站不同目录,就不需要网址判断,直接使用最下一行)

 

3、www域名 转 根域名 301。这个是最常用的,首页、贴子、目录,所有的都同步重定向:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^nicenic.com$ [NC]

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

注:首页、内页、链接将都重定向到另一站的相同链接。

(以上为两站同一目录下使用,如果网站不同目录,就不需要网址判断,直接使用最下一行)

 

4、A域名转B域名,首页、贴子、目录,所有的都同步重定向:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^nicenic.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.nicenic.com$

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

注:首页、内页、链接将都转向到另一站的相同链接。

(以上为两站同一目录下使用,如果网站不同目录,就不需要网址判断,直接使用最下一行)

 

5、如果只子目录重定向,包括目录下的所有链接,其它的不重定向, 如:要把 iisp.com/bbs 下重定向到 iisp.com 来,但iisp.com不重定向。

(以上为两站同一目录下使用,如果网站不同目录,就不需要网址判断,直接使用最下一行。这个子目录转,判断语可不用,直接使用最后一行,子目录下的所有来路都转)如果不需要贴子地址都重定向,只把域名重定向,那么,你只需用一首页文件 index.php

内容为:(网址换成你要重定向到目标网址)

<?php

$url="".$_SERVER["REQUEST_URI"];

header("HTTP/1.1 301 Moved Permanently");

header("location:http://iisp.com");

?>

这方法为域名直接跳转,如需跳转到子目录,直接在网址加上子目录即可。 (两站不同目录),htaccess技巧  在 Linux 系统,支持 htaccess 规则下使用。

注:301转向.htaccess 的规则在 Linux 系统 Apache 上测试通过,但是在 Linux 系统 LiteSpeed 上出现 500错误等。或许不兼容。

 

二、建一个404.htm 文件传根目录

自动义 404、403 错误,在.htaccess里面添加

ErrorDocument 404 /404.htm

ErrorDocument 403 /404.htm

注:可自己设定无法找到文件转到哪个页  后面的404.htm 可自行改。

 

三、.htaccess 设置默认首页:

DirectoryIndex index.html index.php default.htm

注:有些空间,默认首页先后不同,自己想要把哪个先访问,可用此设置

 

四、.htaccess 禁止IP访问网站:

Order Allow,Deny

Deny from 582.46.2.67

Allow from all

注:禁止 582.46.2.67 这个IP访问你的站点,可自己测试下禁止自己IP。可应该在,如遇到服务器攻击,查出这个IP,禁止这个IP访问。

 

五、.htaccess 禁止图片、文件盗链:

RewriteCond %{HTTP_REFERER} !^$ [NC]

RewriteCond %{HTTP_REFERER} !zhanhelp.com [NC]

RewriteRule .(gif|jpg|rar|zip)$ http://zhanhelp.com/logo.gif [R,L]

注:这部分是判断是否盗链, 即不是直接输入网址,又不是zhanhelp.com 网站上访问的,那么就会 直接显示 logo.gif 图片   可自定义如 rar zip 盗链。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值