添加操作在wordpress中不起作用

添加操作在wordpress中不起作用,wordpress,url-rewriting,rewrite,Wordpress,Url Rewriting,Rewrite,我正在设置一个WP,它应该将所有对子目录的请求重定向到该目录中的文件。 例如,如果在example.com/link/me上有一个访问,那么它应该将用户发送到/link/index.php?me 为了实现这一点,我尝试在主题函数文件中添加重写规则。 我的代码是这样的: function moin_add_rewrite_rules() { add_rewrite_rule( '^([^/]*)/(link)/(?:[a-z][a-z0-9_]*)?$',

我正在设置一个WP,它应该将所有对子目录的请求重定向到该目录中的文件。 例如,如果在
example.com/link/me
上有一个访问,那么它应该将用户发送到
/link/index.php?me

为了实现这一点,我尝试在主题函数文件中添加重写规则。 我的代码是这样的:

function moin_add_rewrite_rules() {  
    add_rewrite_rule(  
        '^([^/]*)/(link)/(?:[a-z][a-z0-9_]*)?$',  
        '/link/index.php?$matches[1]',  
        'top'  
    );  
}  
add_action( 'init', 'moin_add_rewrite_rules' );
它不工作,访问
example.com/link/me
显示404(因为链接在WP之外)。 正则表达式代码有问题吗?或者其他地方?其他可能的解决方案是什么?

查看中的示例,匹配的表达式没有前导的
/

从正则表达式中去掉前导位,那么,我认为这应该是可行的(对不起,我手头没有测试环境):

或者,您可以在
.htaccess
文件中执行类似操作


作为一个旁注,我认为由于它目前已编码,您应该使用
$matches[3]
而不是
$matches[1]
,因为您感兴趣的值是括号中的第三个参数(Codex注释“捕获组数据从1开始,而不是0”)。

它也不起作用。还尝试了
$matches[3]
:(我们如何使用.htaccess?看起来不像你用
add_rewrite_标记
来使用
add_rewrite_规则
你必须使用
add_rewrite_标记
来识别你的重写检查它。在一个单独但相关的注释中,重写可以进入
。htaccess
是你根目录中的一个隐藏文件,就像Ho一样bo引用。@DavidChase我也尝试过添加重写标记,但仍然得到了404。我想再次提及的是,WP在根目录中,但链接目录不是WP。它在根目录之外。要实现这一点,可能的
.htaccess
代码是什么?
add_rewrite_rule('^link/([a-z][a-z0-9_]*)/?$','/link/index.php?$matches[1]','top');