Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] .htaccess设置404错误时以301状态返回首页的设置方法

[复制链接]
hb0713 发表于 2011-10-6 21:43:46 | 显示全部楼层 |阅读模式
本帖最后由 hb0713 于 2012-4-9 01:18 编辑

演示体验网址:http://www.qizhou.com.cn



很多朋友设置了比较个性化的伪静态后,很多旧的URL打不开了,可以采用本站正在使用的如下方法,当浏览者点击搜索引擎快照中的旧URL时,将自动进入网站首页。跳转中转页404.php用的是301重定向,有利于SEO,此代码是在服务端执行的代码,所以客户端不存在有等待跳转的过程。本站提供的方法仅限于使用apache+php的环境。


第一步,新建一个空白的404.php,代码如下

  1. <? Header( "HTTP/1.1 301 Moved Permanently" );   
  2. Header( "Location: http://www.7r7s.com/" );?>
复制代码
第二步,将以下代码写入.htaccess中,VPS和独立服务器请写入你们的.conf文件中
  1. # 将 RewriteEngine 模式打开
  2. RewriteEngine On

  3. # 404错误中转页面
  4. ErrorDocument 404 /404.php
复制代码
疑问解答 ----------------------

Q:为什么不直接在.htaccess中设置跳转到首页?
A:设置一个404.php中转,有利于收集原旧URL页面的pr值增加权重。

Q:为什么是404.php,而不是404.html?
A:传统网站设置的404.html仅仅是展示一个页面,虽然用户体验好,但并不能返回首页,用户很可能随手就关掉了404提示页,而用php动态页面,代码是301跳转,html静态页最多也就放个链接提醒用户点击返回首页或者使用了不利于SEO的302跳转。

Q:404.php页面放在哪里?
A:可以放在你网站目录的任何一个地方,但要在.htaccess中设置好相对路径,建议放在根目录。

Q:.htaccess是什么?
A:问这个问题,可以先去百度搜索相关知识,本帖不作过多讲述。

Q:什么是301跳转,什么是302跳转,有什么区别?
A:问这个问题,可以先去百度搜索相关知识,本帖不作过多讲述。

下面是三个不同网站找不到页面时返回的状态码,大家认为哪一个最好呢?






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
xmsxk 发表于 2011-10-6 22:03:01 | 显示全部楼层
支持一下
美丽俏佳人http://www.52qjr.com 姐妹淘http://www.sisterstao.com
手拉手17购http://www.sls17.com 嘉庚论坛http://www.jgubbs.com
回复

使用道具 举报

frogsoft 发表于 2011-10-6 22:27:52 | 显示全部楼层
利于才怪,爬虫找不到文件时应该返回404,你给它301,不是找K吗?
回复

使用道具 举报

 楼主| hb0713 发表于 2011-10-6 22:32:34 | 显示全部楼层
frogsoft 发表于 2011-10-6 22:27
利于才怪,爬虫找不到文件时应该返回404,你给它301,不是找K吗?

既然设了404,肯定有返回404状态。返回后,页面不能定在那里啊,然后301跳转到首页。两个状态码都有返回。
回复

使用道具 举报

jonny1985 发表于 2011-10-31 09:41:40 | 显示全部楼层
好的,我出来学习了www.aiboluo.com  www.tinxu.com
回复

使用道具 举报

liqu12511 发表于 2011-11-16 18:49:13 | 显示全部楼层
好123网址之家也用过301!@
回复

使用道具 举报

jy890701 发表于 2011-11-17 00:37:59 来自手机 | 显示全部楼层
这个实在没办法敢用呀。。。
回复

使用道具 举报

ymhuhe 发表于 2012-3-19 01:04:29 | 显示全部楼层
Q:为什么不直接在.htaccess中设置跳转到首页?
A:问这个问题,可以先去百度搜索相关知识,本帖不作过多讲述。

Q:为什么是404.php,而不是404.html?
A:问这个问题,可以先去百度搜索相关知识,本帖不作过多讲述。

Q:404.php页面放在哪里?
A:问这个问题,可以先去百度搜索相关知识,本帖不作过多讲述。

Q:.htaccess是什么?
A:问这个问题,可以先去百度搜索相关知识,本帖不作过多讲述。

Q:什么是301跳转,什么是302跳转,有什么区别?
A:问这个问题,可以先去百度搜索相关知识,本帖不作过多讲述。

下面是三个不同网站找不到页面时返回的状态码,大家认为哪一个最好呢?
回复

使用道具 举报

你在哪里 发表于 2012-3-19 01:06:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

落水的鱼 发表于 2012-3-19 09:19:14 | 显示全部楼层
说句实在话,有点弄巧成拙了! 找不到的页面就应该返回404,至于用户体验,没必要非要PHP页面才能返回,html中的meta标签就可以实现!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 12:43 , Processed in 0.032672 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表