Wordpress add_rewrite_rule在Apache上运行,而不是在IIS上运行

时间:2014-06-26 09:14:27

标签: wordpress apache iis rewrite url-rewrite-module

我有以下重写规则:

add_action( 'init', 'custom_rewrite_rules' );
function custom_rewrite_rules() {
    add_rewrite_rule('formation(/([^/]+))?(/([^/]+))?/?','index.php?pagename=formation&formation_slug=$matches[2]&formation_id=$matches[4]','top');
    add_rewrite_tag('%formation_slug%','([^&]+)');
    add_rewrite_tag('%formation_id%','([^&]+)');
}

这在我的Apache服务器上运行正常,而不是在我的客户端的IIS上运行。 我刷新了重写规则,Monkeyman Rewrite Analyzer插件告诉我重定向应该按计划工作。

对我遗失的任何建议?

非常感谢您的帮助

编辑:UP!

1 个答案:

答案 0 :(得分:0)

问题在于IIS不接受网址{+ 3}}中的“+”字符,而且我使用urlencode()urldecode()来生成我的网址。

我实施的解决方法只是将'+'替换为' - '。