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

标题: 深入分析url的伪静态之如何去掉index.php [打印本页]

作者: wyhuang    时间: 2012-6-2 06:30
标题: 深入分析url的伪静态之如何去掉index.php
  作为一个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/,转载请保留链接。
作者: lanlanfu    时间: 2012-6-2 13:59
这个有点。。。。。。http://www.hszjsk.com/




欢迎光临 源码论坛,商业源码下载,尽在锦尚中国商业源码论坛 (https://bbs.52jscn.com/) Powered by Discuz! X3.3