我有以下重写规则:
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!
答案 0 :(得分:0)
问题在于IIS不接受网址{+ 3}}中的“+”字符,而且我使用urlencode()
和urldecode()
来生成我的网址。
我实施的解决方法只是将'+'替换为' - '。