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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

完美解决SS静态化后,首页跳转到静态目录下,造成SEO及PR丢失的问题!!!

[复制链接]
chenlan1 发表于 2009-9-30 04:19:48 | 显示全部楼层 |阅读模式
SupeSite插件
插件名称: 完美解决SS静态化后,首页跳转到静态目录下,造成SEO及PR丢失的问题!!!
插件简介: 完美解决SS静态化后,首页跳转到静态目录下,造成SEO及PR丢失的问题!!!
语言编码: GBK简体 UTF8简体 BIG5繁体 
插件作者: 摄雅网
本帖最后由 chenlan1 于 2009-9-30 04:39 编辑

生更半夜的发个帖子不容易,一个字一个字敲出来的,大家有钱的给个1块钱啊,在这谢各位困扰了很久的天天在DZ找答案的朋友们!

本人长期关注摄雅网的进程,摄雅网资讯频道采用的SS,一直以来都是和大家一样,他们是生成了静态页面,都是跳转到静态目录中的INDEX.HTML,然而,这个网站的首页PR从4一直到0,而百度收录从几万一直降到几百,当时摄雅网的朋友还问我,到底是怎么回事,难道是被百度给K了?后来看迹象也不是被K了,因为论坛和博客还都有新的收录信息,后来仔细看了SS,是因为跳转的问题造成的,SS真是害人不浅啊,今天晚上又去看了一下,突然变成不跳转了,而后,联系了在摄雅网工作的朋友,告诉了SS朋友们一直以来的困惑。

本人仅仅为爱好,长期研究代码,感谢在摄雅网工作的朋友,代码如下:
修改代码中的注释从“//默认首页”开始的一个判断:
(解释:判断是否是首页,如果是首页,则不跳转,而是调用静态目录中的静态页面,如果不是首页,按原来方法的执行,另外,生成首页用:http://*****/index.php?op=creat 这个地址,当然,大家可以自己修改源码中的OP值。)

打开修改根目录的index.php,页面最下方:

原来的代码:
  1. //默认首页
  2. if(!empty($channels['default']) && $channels['default'] != 'index.php') {
  3.         if(strpos($channels['default'], '?')) {
  4.                 sheader(S_URL.'/'.$channels['default']);
  5.                 exit();
  6.         } else {
  7.                 include_once(S_ROOT.'./'.$channels['default']);
  8.         }
  9.        
  10. } else {

  11.         if(!empty($_SCONFIG['htmlindex'])) {
  12.                 $_SHTML['action'] = 'index';
  13.                 $_SGLOBAL['htmlfile'] = gethtmlfile($_SHTML);
  14.                 ehtml('get', $_SCONFIG['htmlindextime']);
  15.                 $_SCONFIG['debug'] = 0;
  16.         }

  17.         $title = $_SCONFIG['sitename'];
  18.         $keywords = $_SCONFIG['sitename'];
  19.         $description = $_SCONFIG['sitename'];
  20.        
  21.         include template('index');

  22.         ob_out();
  23.        
  24.         if(!empty($_SCONFIG['htmlindex'])) {
  25.                 ehtml('make');
  26.         } else {
  27.                 maketplblockvalue('cache');
  28.         }
  29. }
复制代码
修改后的代码:
  1. //默认首页
  2. if(!empty($channels['default']) && $channels['default'] != 'index.php') {
  3.         if(strpos($channels['default'], '?')) {
  4.                 sheader(S_URL.'/'.$channels['default']);
  5.                 exit();
  6.         } else {
  7.                 include_once(S_ROOT.'./'.$channels['default']);
  8.         }
  9.        
  10. } else {

  11.         if(!empty($_SCONFIG['htmlindex'])&&($_SERVER['PHP_SELF']!='/index.php')) {
  12.                 $_SHTML['action'] = 'index';
  13.                 $_SGLOBAL['htmlfile'] = gethtmlfile($_SHTML);
  14.                 ehtml('get', $_SCONFIG['htmlindextime']);
  15.                 $_SCONFIG['debug'] = 0;
  16.         }
  17.         if ($_GET['op']=='creat'){
  18.                 $_SHTML['action'] = 'index';
  19.                 $_SGLOBAL['htmlfile'] = gethtmlfile($_SHTML);
  20.                 ehtml('get', $_SCONFIG['htmlindextime']);
  21.                 $_SCONFIG['debug'] = 0;
  22.                 $title = $_SCONFIG['sitename'];
  23.                 $keywords = $_SCONFIG['sitename'];
  24.                 $description = $_SCONFIG['sitename'];
  25.                 include template('index');
  26.                 ob_out();
  27.                 if(!empty($_SCONFIG['htmlindex'])) {
  28.                         ehtml('make');
  29.                 } else {
  30.                         maketplblockvalue('cache');
  31.                 }
  32.         }
  33.         if ($_SERVER['PHP_SELF']=='/index.php'){
  34.                 include_once('../uploadfile/infohtml/index.html');
  35.         }
  36.         else
  37.         {
  38.                 if(!empty($_SCONFIG['htmlindex'])) {
  39.                         ehtml('make');
  40.                 } else {
  41.                         maketplblockvalue('cache');
  42.                 }
  43.         }
  44. }
复制代码
注意记得修改代码中的“../uploadfile/infohtml” 这个是静态页面的目录,不知道摄雅网为啥没用动态的数值,而是写死在代码里的,懒吧,呵呵。OVER!!!!!!有钱的给个1块钱吧,找人家低头要东西不容易!

本帖子中包含更多资源

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

x

评分

2

查看全部评分

wehone 发表于 2009-9-30 04:24:20 | 显示全部楼层
请问楼主:
用PHP的网页跟生成静态的网页,有什么差别吗?
这个不懂?
回复

使用道具 举报

 楼主| chenlan1 发表于 2009-9-30 04:27:30 | 显示全部楼层
本帖最后由 chenlan1 于 2009-9-30 04:28 编辑

2# wehone


PHP的页面要执行PHP代码编译以及数据库查询等操作,增加服务器负担!!
如果是生成HTML的,那么当用户访问页面时,则直接由硬盘读取数据。
你自己想想,速度一样吗?差多少?如果服务器性能差一点,再如果是虚拟主机,给你加个CPU内存限制之类的,跑PHP,会很慢的。
回复

使用道具 举报

wehone 发表于 2009-9-30 04:37:41 | 显示全部楼层
3# chenlan1


    谢谢你了!
好帖子收藏一下!

PS:楼主学PHP代码编程,需要什么书籍,跟什么样的网页编辑器呢?


我跟你一样也是爱好者,但是我只会一点点HTML跟一丁点的SQL语句!爱好者之间的差距!
回复

使用道具 举报

 楼主| chenlan1 发表于 2009-9-30 04:41:43 | 显示全部楼层
4# wehone


    哈哈,没关系了,大家一起慢慢学呗,喜欢嘛,不是差距,是时间的差距吧。我学了有几年了,以前是学的ASP,用的也是ASP,后来感觉ASP在很多方面跟不上PHP,就转到PHP啦,因为对ASP是太熟悉了,所以,PHP也就自然会了,写PHP我都是简单的,没有做什么大项目,所以现在只用Editplus也就足够了。
回复

使用道具 举报

qhdyezhu 发表于 2009-10-2 08:09:11 | 显示全部楼层
不是有直接生成在根目录的办法吗?不用自己写代码这么麻烦吧?

请问楼主,本站http://www.my0335.com以前生成过静态页面,而且首页是生成在根目录的index.html,但是由于空间限制,关闭了静态,使用了伪静态,原来的静态页面没有删除,百度收录的首页还是原来的静态页面,这样一来,首页就总也得不到更新了,自然也就被降权了,有什么解决的好办法吗?
回复

使用道具 举报

 楼主| chenlan1 发表于 2009-10-4 19:03:11 | 显示全部楼层
直接生成在根目录?如果文件太多,太占地方怎么办呢?就需要放在其他目录了,或者其他盘了,然后需要另一个网址来访问静态目录了,所以就会出现二级目录,虚拟目录的问题了。
回复

使用道具 举报

 楼主| chenlan1 发表于 2009-10-4 19:04:24 | 显示全部楼层
既然支持伪静态,那么你可以将原来的静态首页删除,用rewrite重新将原来的Index.html指向到index.php
回复

使用道具 举报

 楼主| chenlan1 发表于 2009-10-4 19:04:35 | 显示全部楼层
6# qhdyezhu


    既然支持伪静态,那么你可以将原来的静态首页删除,用rewrite重新将原来的Index.html指向到index.php
回复

使用道具 举报

Imabird 发表于 2009-10-4 20:26:52 | 显示全部楼层
这个方法不错。













GOLD P2P
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 16:44 , Processed in 0.029988 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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