ECSHOP 301重定向到静态页面

2016-07-07 15:00 来源:www.chinab4c.com 作者:ecshop专家



不知大家有没有这样的困扰:
ecshop静态化后,百度收录的却很多还是动态的链接。而且迟迟不更新
或者,做seo的朋友应该都知道,www.xiaoshangpin.com和xiaoshangpin.com百度解释的是不同的网址。
这样造成流量不能整合到一起
再或者,你更改了域名,要301重定向的新的域名。这时,本文对于使用ecshop的你就很有用了。
先看看我的案例:
输入:xiaoshangpin.com301到:www.xiaoshangpin.com
输入:xiaoshangpin.com/index.php 301到www.xiaoshangpin.com
你再输入:youku.cm 还是301到:www.xiaoshangpin.com
你输入:xiaoshangpin.com/goods.php?id=12415 看看效果:301到了静态的地址:http://www.xiaoshangpin.com/pro-12415.html

呵呵,还不错吧?对seo很友好
下面贴出代码:

  1. function chk301(){
  2. @$rewriteurl=$_SERVER['REDIRECT_URL'];
  3. empty($rewriteurl) && $rewriteurl='/';
  4. $tmpSelfUrl='';
  5. @$tmpcat_id=$_GET['cat_id'];
  6. $tmpcat_id=(!empty($tmpcat_id)) ? '-' . intval($tmpcat_id) : '';
  7. @$tmpId=$_GET['id'];
  8. $tmpId=(!empty($tmpId)) ? '-' . intval($tmpId) : '';
  9. @$tmpPage=$_GET['page'];
  10. $tmpPage=(!empty($tmpPage)) ? '-' . intval($tmpPage) : '';
  11. $toUrl='';
  12. $tmpDomain=$_SERVER['HTTP_HOST'];
  13. ($tmpDomain != 'hx') && $tmpDomain='www.xiaoshangpin.com';
  14. if($rewriteurl=='/'){
  15. $tmpSelfUrl=$_SERVER['PHP_SELF'];
  16. if(strpos($tmpSelfUrl,'category.php')){
  17. $tmpId.='-b0';
  18. $toUrl='cat';
  19. }
  20. elseif(strpos($tmpSelfUrl,'goods.php') && false === strpos($_SERVER['QUERY_STRING'],'act='))
  21. $toUrl='pro';
  22. elseif(strpos($tmpSelfUrl,'order_all.php')){
  23. if($tmpPage != '' && $tmpId == '')
  24. $tmpId='-0';
  25. ($tmpPage != '') && $tmpPage=str_replace('-','-p',$tmpPage);
  26. $toUrl='order_all';
  27. }
  28. elseif(strpos($tmpSelfUrl,'article.php'))
  29. $toUrl='art';
  30. elseif(strpos($tmpSelfUrl,'products.php')){
  31. if(@empty($_SERVER['QUERY_STRING']))
  32. $toUrl='products';
  33. else
  34. $toUrl='p';
  35. }
  36. elseif (strpos($tmpSelfUrl,'message.php'))
  37. $toUrl='message';
  38. elseif(strpos($tmpSelfUrl,'article_cat.php'))
  39. $toUrl='artcat';
  40. elseif(strpos($tmpSelfUrl,'brand.php'))
  41. $toUrl='pinpai';
  42. elseif (strpos($tmpSelfUrl,'snatch.php'))
  43. $toUrl='snatch';
  44. elseif(strpos($tmpSelfUrl,'group_buy.php'))
  45. $toUrl='group_buy';
  46. elseif(strpos($tmpSelfUrl,'auction.php'))
  47. $toUrl='auction';
  48. elseif(strpos($tmpSelfUrl,'exchange.php'))
  49. $toUrl='exchange';
  50. else
  51. $toUrl='';
  52. if($toUrl != ''){
  53. $toUrl='http://'.$tmpDomain.'/'.$toUrl.$tmpId.$tmpcat_id.$tmpPage.'.html';
  54. Header("HTTP/1.1 301 Moved Permanently" );
  55. Header("Location: ".$toUrl);
  56. exit;
  57. }
  58. }
  59. if($_SERVER['HTTP_HOST'] != 'www.xiaoshangpin.com' && $_SERVER['HTTP_HOST'] != 'hx'){
  60. if($rewriteurl != '/'){
  61. $toUrl=$rewriteurl;
  62. }elseif($_SERVER['PHP_SELF']=='/index.php'){
  63. $toUrl='/';
  64. }else{
  65. $toUrl=$_SERVER['PHP_SELF'];
  66. $toUrl.=(empty($_SERVER['QUERY_STRING']))?'':'?'.$_SERVER['QUERY_STRING'];
  67. }

  68. Header("HTTP/1.1 301 Moved Permanently" );
  69. Header("Location: http://".$tmpDomain.$toUrl);
  70. exit;
  71. }
  72. }
复制代码


使用方法:
修改/includes/init.php
在前面加入这个函数,再直接调用即可

本人修改的网站:http://www.xiaoshangpin.com 在百度里面有很多错误的收录,你也可以试一下

2010-07-17修改:解决产品详细页面不能正常显示会员价格的问题

回答:
沙发留作修改备用

好,收藏了

先收藏以备后用

mark......

先试下看

备用~~~~~~~~

我用了 怎么没有反应啊请指教 谢谢

请问怎么调用 谢谢 我的是2.6.1的版本

做了这个就不用在.htaccess里加代码了吗

改了init.php以后,怎么调用呀!楼主说下呀!

是啊楼主说明下吧好人做到底

不是光改个文件就行了,还要组件支持,搜索一下.

楼上知道 分享下吧新手找不到的

不知道如何试用