您的重写规则应为:
add_rewrite_rule(\'^directory/view/(.+)/(\\d+)/\', \'index.php?pagename=directory/view&search=$matches[1]&number=$matches[2]\', \'top\');
记住在每次编辑后刷新重写规则(转到设置>永久链接)。
编辑添加了完整的代码示例。
function add_directory_rewrite() {
add_rewrite_tag("%search%", \'(.+)\');
add_rewrite_tag("%number%", \'(\\d+)\');
add_rewrite_rule(\'^directory/view/(.+)/(\\d+)\', \'index.php?pagename=directory/view&search=$matches[1]&number=$matches[2]\', \'top\');
}
add_action( \'init\', \'add_directory_rewrite\' );
在第页中。用于测试目的的php:
<?php echo get_query_var("search"); echo get_query_var("number"); ?>
这在我自己的网站上有效,甚至将博客url更改为/blog/以测试结构。
如果仍然不起作用,可以清空htaccess并再次将其保存在设置>永久链接中(确保文件可写)。
已从中删除尾部斜杠\'^directory/view/(.+)/(\\d+)/\'
这是可行的。