Wordpress rewrite_rules不在index.php之前

时间:2013-04-08 15:59:36

标签: php wordpress iis iirf

我很遗憾地被困在运行WordPress网站的Windows服务器上。我的主机已安装iirf进行网址重写。

我终于得到了一点点工作。但是,生成匹配规则时,WordPress中的rewrite_rules不会前置index.php。因此,当服务器发送index.php/foo/bar之类的请求时,WordPress会尝试将其与foo/bar进行匹配。

我创建了一个解决方法,在重新创建规则之前将index添加到规则之前。

add_filter('rewrite_rules_array', 'add_index');
function add_index($rules){

foreach ($rules as $rule => $rewrite) {
   if(!strpos($rules[$rule],'index.php') !== false) {
       unset($rules[$rule]);
       $rules['index.php/' . $rule] = $rewrite;
    }

}

return $rules;

}

目前这似乎正常运作,但似乎我正在掩盖一个潜在的问题。 WordPress不应该自动以这种方式创建规则,或者是否有我缺少的设置标记是否添加index.php

0 个答案:

没有答案