页面未找到或重定向?

时间:2012-02-04 16:35:19

标签: php mod-rewrite seo

我的重写规则:

RewriteRule ^articles/([a-z]+)/([0-9]+)/?$ /index.php?page=articles&cat=$1&id=$2 [L]
RewriteRule ^articles/([a-z]+)/?$ /index.php?page=articles&cat=$1 [L]
RewriteRule ^([a-z]+)/?$ /index.php?page=$1 [L]

因此,在index.php文件中,我检查是否存在page。如果找到,则回显该页面。否则,该怎么办?

  • 发送重定向到主页?
  • 使用header()发送404页面找不到响应?
  • 回复“未找到页面”这样的消息?

哪一个好?我想知道搜索引擎友好的选项。

2 个答案:

答案 0 :(得分:2)

你肯定应该有一个header(),它返回正确的404错误代码。这将确保谷歌不会将您的错误页面编入索引。使用没有404代码的消息提供标准页面称为软404错误,并且不受标准(以及谷歌)的阻止。

见这里:http://support.google.com/webmasters/bin/answer.py?hl=en&answer=181708

但是没有必要向访问者显示一个丑陋的纯文本错误,或者依赖于浏览器的默认错误页面。即使您输出404代码,您仍然可以提供漂亮的页面,可能包含指向您主页的链接或相关资源。

答案 1 :(得分:1)

优先

  
      
  • 使用header()发送404页面未找到的响应?(硬404)
  •   
     

这是理想的,因为页面确实找不到。

     
      
  • 回复“未找到页面”这样的消息? (软404)
  •   
     

这很好,因为你试图在内部找到页面但不完全理想。

不要做:

  
      
  • 发送重定向到主页?

         

    因为这不会描绘任何信息,如

         
        
    • 是否找不到该页面。
    •   
    • 有任何内部错误   等
    •   
  •   

通过这个:404 errors soft vs. hard你会得到这个想法。