安云网 - AnYun.ORG | 专注于网络信息收集、网络数据分享、网络安全研究、网络各种猎奇八卦。
当前位置: 安云网 > 安全聚合 > Seay信息安全博客 > 博客维护:解决wordpress 在iis+isapi rewrite伪静态t

博客维护:解决wordpress 在iis+isapi rewrite伪静态t

时间:2017-02-13来源:www.cnseay.com 作者:Seay点击:
博客目前用的VPS,前段时间从linux换成了windows,用了一段apache,发现内存占用比较大,于是换成了IIS,做了一些优化,目前访问速度还算可以。但是还是有两个问题存在,第一个是wordpress在iis+isapi rewrite的环境下,URL中存在中文会

显示不全请点击全屏阅读

    博客目前用的VPS,前段时间从linux换成了windows,用了一段apache,发现内存占用比较大,于是换成了IIS,做了一些优化,目前访问速度还算可以。但是还是有两个问题存在,第一个是wordpress在iis+isapi rewrite的环境下,URL中存在中文会404,原因是编码的问题,我尝试了很多方法都不行,改写了很多伪静态规则,网上找的别人可以,我测试就不行,搞了几天都没搞定,咱搞技术的不能这么轻易放弃啊。刚刚终于在一个前辈的博客上面找到了可以用的解决方案,分享一下。 //copyright AnYun.ORG

   原文:【实战经验】IIS6.0下WordPress中文TAG重写和实现伪静态方法记录 //内容来自安云网

   

//ANYUN.ORG

首先需要安装isapi rewrite,然后在网站根目录新建httpd.ini

//copyright AnYun.ORG

我写的伪静态规则是

//内容来自AnYun.ORG

[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32

RewriteRule /tag/[^/]+)/([^/]+)/?([0-9]+)?/ /index.php?tag=$1&paged=$3 [L]
RewriteRule /article.php\?id=(.*) /article.php\?id=$1 [L]
RewriteRule /(.*).jpg /$1.jpg [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /(.*).php(.*) /$1.php$2 [L]


RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L] 
//copyright AnYun.ORG

 

//ANYUN.ORG

这个是针对我的博客的,当然也可以通用在其他wordpress上,解决问题的伪静态规则是 //ANYUN.ORG

RewriteRule /tag/[^/]+)/([^/]+)/?([0-9]+)?/ /index.php?tag=$1&paged=$3 [L] 
//安云网,anyun.org

 还要修改一个文件:wp-includes/class-wp.php //安云网咨询系统

//copyright AnYun.ORG

找到 //内容来自安云网

if ( isset($_SERVER['PATH_INFO']) )
  $pathinfo = $_SERVER['PATH_INFO'];
else
  $pathinfo = ”;
$pathinfo_array = explode(‘?’, $pathinfo);
$pathinfo = str_replace(“%”, “%25″, $pathinfo_array[0]);
$req_uri = $_SERVER['REQUEST_URI'];
 

//内容来自AnYun.ORG

 修改成

//安云网,anyun.org

if ( isset($_SERVER['PATH_INFO']) )
{
    $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
}
else
{
    $pathinfo ="";
}
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK"); //安云网咨询系统 

到这里就OK了。 //copyright AnYun.ORG

  //本文来自安云网

另外一个问题是百度sitemap插件在发表和更新文章的时候报错如下 //内容来自AnYun.ORG

Illegal string offset ‘lc_is_update_sitemap_when_post’

//本文来自安云网

每次都报,很蛋疼,网上没人说这个问题怎么解决,自己动手得了,这个比较简单,看它错误提示是在 //安云网,anyun.org

wp-content\plugins\baidu-sitemap-generator\baidu_sitemap.php on line 342 //本文来自安云网 

那么我们就找到它

//安云网咨询系统

if($get_baidu_sitemap_options['lc_is_update_sitemap_when_post'] == '1'){
    wp_clear_scheduled_hook('do_baidu_sitemap_by_post');
    wp_clear_scheduled_hook('do_this_auto_daily');
    wp_schedule_single_event(time()+30, 'do_baidu_sitemap_by_post'); 
} //内容来自安云网 

把上面的修改成 //安云网,anyun.org

 

//copyright AnYun.ORG

//if($get_baidu_sitemap_options['lc_is_update_sitemap_when_post'] == '1'){
    wp_clear_scheduled_hook('do_baidu_sitemap_by_post');
    wp_clear_scheduled_hook('do_this_auto_daily');
    wp_schedule_single_event(time()+30, 'do_baidu_sitemap_by_post'); 
/
      
   
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
相关内容
推荐内容