正在加载中...

关闭
请选择需要拨打的号码
关闭
请根据问题类型选择QQ咨询

在WINDOWS 2003 IIS中 如果配置Wordpress 的伪静态?

在WINDOWS 2003 IIS中 如果配置Wordpress 的伪静态?

昨天顺利的完成了Wordpress3.2.1到3.3的过渡,但是之后发生了一个小问题,我的博客的中文标签页打不开了,经过一番检查,最后终于知道了怎么回事,原来我之前的windows主机实现伪静态的方法,不是很完善,还需要搭配另一步骤:实现伪静态化之后,tags链接无法打开的解决方法,这两步都操作完成后,才算是伪静态化成功。
这次再出现这个问题之后,我没按之前的方法操作,而是使用了一位朋友为我提供的新的404.php文件,同样也实现了伪静态化,而且中文标签页也能正常打开,下面我把代码贴出来,有需要的可以拿走了。

  1. <?php   
  2. $default = 'index.php';    
  3. $thisfile = '404.php';    
  4.   
  5. $_SERVER['ORIG_PATH_TRANSLATED'] = str_replace($thisfile$default$_SERVER['ORIG_PATH_TRANSLATED']);    
  6. $_SERVER['SCRIPT_FILENAME'] = str_replace($thisfile$default$_SERVER['SCRIPT_FILENAME']);    
  7. $_SERVER['ORIG_PATH_INFO'] = str_replace($thisfile$default$_SERVER['ORIG_PATH_INFO']);    
  8. $_SERVER['SCRIPT_NAME'] = str_replace($thisfile$default$_SERVER['SCRIPT_NAME']);    
  9. $_SERVER['PHP_SELF'] = str_replace($thisfile$default$_SERVER['PHP_SELF']);    
  10. $_SERVER['PATH_INFO'] = false;    
  11.   
  12. $qs =& $_SERVER['QUERY_STRING'];    
  13. $qs = mb_convert_encoding("$qs","UTF-8","GBK"); //转换编码以支持中文URL    
  14. $ru =& $_SERVER['REQUEST_URI'];    
  15. $pos = strrpos($qs, '://');    
  16. $pos = strpos($qs, '/', $pos + 4);    
  17. $_SERVER['URL'] = $ru = substr($qs$pos);    
  18. $qs = trim(stristr($ru, '?'), '?');    
  19.   
  20. // Required for WordPress 2.8+    
  21. $_SERVER['HTTP_X_ORIGINAL_URL'] = $ru;    
  22.   
  23. // Fix GET vars    
  24. foreach ( $_GET as $var => $val ) {    
  25. if ( substr($var, 0, 3) == '404') {    
  26. if ( strstr($var, '?') ) {    
  27. $newvar = substr($varstrpos($var, '?') + 1);    
  28. $_GET[$newvar] = $val;    
  29. }    
  30. unset($_GET[$var]);    
  31. }    
  32. break;    
  33. }    
  34. include($default);   
  35. ?>  

没了,接下来的步骤就和我之前的那篇日志里介绍的一样了,而且也不再需要删除主题文件里的404.php文件了,是不是更方便了?!


返回上一页