源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 1058|回复: 1
打印 上一主题 下一主题

[交流] 深入分析url的伪静态之如何去掉index.php

[复制链接]

393

主题

399

帖子

881

金币

初级会员

Rank: 1

积分
2050
QQ
跳转到指定楼层
1#
发表于 2012-6-2 06:30:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  作为一个SEO(搜索引擎优化)er一定晓得在网站优化,SEO(搜索引擎优化)优化的时分是需求对url停止优化的,关于wordpress、w主机url的伪静态办法前一段工夫我曾经提到,之所以要再次提出来就是剖析下上文所写到关于去除index.php的办法的一些弊端以及对上文办法的修正方法。  url去除index的办法就是经过添加一个404页面来对url实行一个指引的方式。网上对此办法的看法大多都是尽量不要去用的说法,但我用了一段工夫觉得这个办法还行,这个办法不只会剪短url还会根本省去一个网站404页面的制造这一步骤。

  由于本站刚开端不久后来文章也不是很多没有发现前文的装置办法有什么弊端,但是随着文章的不时更新,笔者终于发现经过404页面来完成url伪静态的办法将会使主页的翻页功用不能运用。笔者本以为本人网站优化的曾经差不多了没想到都计划开端内部链接优化的时分才发现url优化出了成绩。详细成绩:进入网站首页blog.***.com 网站底部找到翻页间接翻页发现间接从第一页翻到第?(任何页)是可以的但是你要是想从?(任何页)翻到其他页却不行了,翻页链接也会呈现一些紊乱的景象。  后来遇到这个如今让我一头雾水,不知该从何下手推敲剖析了许久,终于一定是那个404页面的代码有成绩,这便开端了搜索材料的任务。经过重复实验总结,终于得知那个404.php的代码写的是不够完全有很多破绽的。附上源代码截图:

  那我们该如何去矫正这个代码呢?不是让本人去写吧?别急,一定不需求你本人写的,如今笔者便复制代码如下:  < ?php

  // This is the default file for the site. Usually index.php  $default = ‘index.php’;

  // The name of this file.  // Set this value for the URL in Custom Error Properties of your website in IIS.

  // Goto: IIS Manager > Websites > [Site Name] > Properties > Custom Errors >  // 404 & 404;2 & 404;3 > URL (Requires a ‘/’ prefix in IIS).

  $thisfile = ’404-handler.php’;  $_SERVER[&#39;ORIG_PATH_TRANSLATED&#39;] = str_replace($thisfile, $default, $_SERVER[&#39;ORIG_PATH_TRANSLATED&#39;]);

  $_SERVER[&#39;script_FILENAME&#39;] = str_replace($thisfile, $default, $_SERVER[&#39;script_FILENAME&#39;]);  $_SERVER[&#39;ORIG_PATH_INFO&#39;] = str_replace($thisfile, $default, $_SERVER[&#39;ORIG_PATH_INFO&#39;]);

  $_SERVER[&#39;script_NAME&#39;] = str_replace($thisfile, $default, $_SERVER[&#39;script_NAME&#39;]);  $_SERVER[&#39;PHP_SELF&#39;] = str_replace($thisfile, $default, $_SERVER[&#39;PHP_SELF&#39;]);

  $_SERVER[&#39;PATH_INFO&#39;] = false;  $qs =& $_SERVER[&#39;QUERY_STRING&#39;];

  $ru =& $_SERVER[&#39;REQUEST_URI&#39;];  $pos = strrpos($qs, ‘://’);

  $pos = strpos($qs, ‘/’, $pos   4);  $_SERVER[&#39;URL&#39;] = $ru = substr($qs, $pos);

  $qs = trim(stristr($ru, ‘?’), ‘?’);  // Required for WordPress 2.8

  $_SERVER[&#39;HTTP_X_ORIGINAL_URL&#39;] = $ru;  // Fix GET vars

  foreach ( $_GET as $var => $val ) {  if ( substr($var, 0, 3) == ’404&prime;) {

  if ( strstr($var, ‘?’) ) {  $newvar = substr($var, strpos($var, ‘?’)   1);

  $_GET[$newvar] = $val;  }

  unset($_GET[$var]);  }

  break;  }

  include($default);  ? >

  只需求重新建一个文本文档并将其重命名为404.php,然后用你的ftp将其上传至网站根目录下就可以了。

  本文来源自揭幕者新浪博客http://www.niulaile.com/stockblog/jiemuzhe/,转载请保留链接。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享

14

主题

39

帖子

1

金币

初级会员

Rank: 1

积分
36
2#
发表于 2012-6-2 13:59:26 | 只看该作者
为了不扰乱会员对源码的测试,有问题咨询右侧客服不要直接回复,否则视为非法信息屏蔽会员ID!
这个有点。。。。。。http://www.hszjsk.com/
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-11-17 23:50 , Processed in 0.105353 second(s), 26 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明