WordPress重写不起作用,并显示404页面



我想加载一个包含此请求的页面:

/foo/bar
/foo/bar/bar

但这不起作用并显示 404 页面:

function custom_rewrite_rule() {
add_rewrite_rule('^foo/','index.php?page_id=205533','top');
}
add_action('init', 'custom_rewrite_rule');

同样的代码段有效。

但是永久链接的设置需要再次保存。

在WordPress管理屏幕中,选择设置->永久链接,然后单击保存更改而不进行任何更改。

function wpd_foo_rewrite_rule() {
add_rewrite_rule(
'^foo/([^/]*)/?',
'index.php?page_id=$matches[1]&param=foo',
'top'
);
}
add_action( 'init', 'wpd_foo_rewrite_rule' );

这将获取 foo/之后的任何内容并将其设置为查询的 pagename,然后 param 获取静态值 foo。如果您需要不同的网址模式,则需要为每个唯一模式制定额外的规则

最新更新