昨天顺利的完成了Wordpress3.2.1到3.3的过渡,但是之后发生了一个小问题,我的博客的中文标签页打不开了,经过一番检查,最后终于知道了怎么回事,原来我之前的windows主机实现伪静态的方法,不是很完善,还需要搭配另一步骤:实现伪静态化之后,tags链接无法打开的解决方法,这两步都操作完成后,才算是伪静态化成功。
这次再出现这个问题之后,我没按之前的方法操作,而是使用了一位朋友为我提供的新的404.php文件,同样也实现了伪静态化,而且中文标签页也能正常打开,下面我把代码贴出来,有需要的可以拿走了。
- <?php
- $default = 'index.php';
- $thisfile = '404.php';
-
- $_SERVER['ORIG_PATH_TRANSLATED'] = str_replace($thisfile, $default, $_SERVER['ORIG_PATH_TRANSLATED']);
- $_SERVER['SCRIPT_FILENAME'] = str_replace($thisfile, $default, $_SERVER['SCRIPT_FILENAME']);
- $_SERVER['ORIG_PATH_INFO'] = str_replace($thisfile, $default, $_SERVER['ORIG_PATH_INFO']);
- $_SERVER['SCRIPT_NAME'] = str_replace($thisfile, $default, $_SERVER['SCRIPT_NAME']);
- $_SERVER['PHP_SELF'] = str_replace($thisfile, $default, $_SERVER['PHP_SELF']);
- $_SERVER['PATH_INFO'] = false;
-
- $qs =& $_SERVER['QUERY_STRING'];
- $qs = mb_convert_encoding("$qs","UTF-8","GBK");
- $ru =& $_SERVER['REQUEST_URI'];
- $pos = strrpos($qs, ':
- $pos = strpos($qs, '/', $pos + 4);
- $_SERVER['URL'] = $ru = substr($qs, $pos);
- $qs = trim(stristr($ru, '?'), '?');
-
-
- $_SERVER['HTTP_X_ORIGINAL_URL'] = $ru;
-
-
- foreach ( $_GET as $var => $val ) {
- if ( substr($var, 0, 3) == '404') {
- if ( strstr($var, '?') ) {
- $newvar = substr($var, strpos($var, '?') + 1);
- $_GET[$newvar] = $val;
- }
- unset($_GET[$var]);
- }
- break;
- }
- include($default);
- ?>
没了,接下来的步骤就和我之前的那篇日志里介绍的一样了,而且也不再需要删除主题文件里的404.php文件了,是不是更方便了?!