为什么匹配[2]在重写规则中不返回任何内容

时间:2016-03-07 14:58:14

标签: php regex wordpress url-rewriting rewrite

我正在尝试将网址www.domain.com/some/my-page--woohoo.html重定向到www.domain.com/index.php?pagename=my-page

我有这条规则通过add_action附加到init(' init',' create_rewrite_rule',1,0);

add_rewrite_rule('^.*\/(.*)--woohoo\.html$', 'index.php?pagename=$matches[1]', 'top');

致电www.domain.com/some/my-page--woohoo.html返回404,但规则何时更改为

add_rewrite_rule('^.*\/(.*)--woohoo\.html$', 'index.php?pagename=my-page', 'top');
一切正常。

似乎$ matches [1]没有返回任何内容:-(为什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果有人会处理这个问题,我还没有找到真正的解决方案(我在几个小时内尝试了很多东西)所以我不得不通过常规的htaccess重定向处理它,即使它不是最佳的(在我的情况下)。

如果您找到了解决方案,请在此处写下,否则我将其视为WP中的错误。