Rewrite Rules are Redirecting

时间:2020-03-20 作者:J.S.T. Andrews

正在尝试对页面进行自定义重写。页面插入:/near me/创建重定向:/near me/STATE/city/甚至在刷新永久链接之后。

//* Add Rewrite Rule
add_action(\'init\', \'sym_nearme_rewrite_rule\', 10, 0);
function sym_nearme_rewrite_rule() {
    add_rewrite_rule(\'^near-me/([^/]*)/([^/]*)/?\',\'index.php?page_id=4331&region=$matches[1]&city=$matches[2]\',\'top\');
}

1 个回复
SO网友:simongcc

因为WordPress使用自己的正则表达式重写系统,所以当您打开永久链接时,它的重写规则就是索引。php。

当它打开时。它将扫描您的url并输入参数。如果你把它们放进去。htaccess重写,有时在某些情况下会发生冲突,因此需要彻底测试。

它不起作用的原因是WordPress制作了一个可公开查询的列表。如果您的参数不在其列表中,它将被忽略。为了让你的重写工作顺利进行。您可以尝试以下操作:

add_filter(\'query_vars\', \'q361110_add_custom_queryvars\' );
function q361110_add_custom_queryvars( $qvars ) {
    $qvars[] = \'region\';
    $qvars[] = \'city\';
    return $qvars;
}

//* Add Rewrite Rule
add_action(\'init\', \'sym_nearme_rewrite_rule\', 10, 0);
function sym_nearme_rewrite_rule() {
    add_rewrite_rule(\'^near-me/([^/]*)/([^/]*)/?\',\'index.php?page_id=4331&region=$matches[1]&city=$matches[2]\',\'top\');
}
在那之后,它应该会起作用。

相关推荐