我对Wordpress网站子页面上的单页应用程序的重定向规则有问题。我非常直接地遵循了这套说明,但仍然存在一些问题:Redirect sub-pages to parent without changing URL
子页面是业务位置的自定义帖子类型。当有人来访时http://business.com/hollywood-ca/contact
它应该停下来http://business.com/hollywood-ca/
但url需要保持不变(url的联系人部分是每个位置页面上单个页面Vue.js应用程序的一部分,因此需要保持不变)。这是我的代码:
//This function hooks in on post save
function add_location_deep_links( $post_id, $post, $update ) {
$post_type = get_post_type($post_id);
if ( "location" != $post_type ) return; // If this isn\'t a \'location\' post, don\'t update it.
$slug = $post->post_name; //hollywood-ca
add_rewrite_rule(
"^{$slug}/[A-Za-z]", //regex prevents trying to redirect the /hollywood-ca/ page
"index.php?page_id={$post_id}", //redirect to post
\'top\' // take precedence over other redirects
);
flush_rewrite_rules();
}
问题是我什么时候去
http://business.com/hollywood-ca/contact
页面重定向到
http://business.com/hollywood-ca/
这会阻止我的单页应用导航到“联系人”选项卡。
如果有帮助的话,我还编写了几个函数来更改URLbusiness.com/location/hollywood-ca
给清洁工business.com/hollywood-ca
. 我在没有这些功能的情况下测试了这些问题,但仍然存在问题,因此我认为它们没有关系。