添加_重写_规则()以路由到index.php以外的文件

时间:2017-09-28 作者:Allan Thomas

add_rewrite_rule(
    \'^invite/([^/]+)\',
    \'index.php?pagename=invite&iid=$matches[1]\',
    \'top\'
);
上面的“内部”重写规则将通过index.php 使用pagename 参数(这需要有一个带有slug的页面invite).

我想直接发送到invite.php (这将呈现ICS日历文件并强制下载)。

我研究了下面的实现,但是,这似乎直接修改了.htaccess 文件我的网站正在使用nginx,所以这不起作用。

add_rewrite_rule(
    \'^invite/([^/]+)\',
    \'invite.php?iid=$matches[1]\',
    \'top\'
);

1 个回复
SO网友:Allan Thomas
add_action(\'parse_query\', function(&$wp_query) {

    if (array_key_exists(\'iid\', $wp_query->query_vars) && $wp_query->query[\'pagename\'] === \'invite\') {

        $iid = get_query_var(\'iid\');

        // Do some stuff

        exit();

    }

    return;

});
结束

相关推荐