多分类查询的URL重写规则

时间:2011-05-19 作者:netfreak

我正在尝试为查询多个分类法的链接创建一些漂亮的URL。我使用的是“Taxonomy drill down”插件,虽然主要用途现在已集成到了内核中,但它仍然有一些有用的模板功能:)

查询多个分类法(工作)的URL示例如下:域。com/?tax1=食品和;tax2=巴

我的目标是拥有像域这样的链接。com/tax1/foo/tax2/bar-转换为上述示例

tax1/2=分类名称

foo/bar=必填项

我偶然发现Examples of WP Rewrites 但我觉得我对这些模式很差劲,比如:

$newrules[\'tax1/(.*)/tax2/(.*)/\'] = \'index.php?tax1=$matches[1]&tax2=$matches[2]\';
似乎不起作用(这只是基于Wordpress示例的整个函数的一部分)

有什么想法吗?:)

1 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

(.*) 匹配所有字符,因此它将“吃掉”多余的字符(这是“贪婪的”)。如果URL为/tax1/foo/tax2/bar/, 第一个(.*) 将是foo/tax2/bar/, 所以第二场比赛什么都没有了。

而不是(.*) 您可以使用“非贪婪”版本(.+?). 这将尽可能匹配,但仍要记住其余部分。您还可以使用更严格的版本([^/]+): 这将匹配到下一个/ - 但这不适用于嵌套类别,因此/category/fruit/banana/tag/flies/ 不会在中拆分fruit/bananaflies 正如你所料。

如果要使用重写规则,我建议您安装Rewrite analyzer plugin. 它允许您查看当前的重写规则,并使用URL查看哪些规则将匹配。

结束

相关推荐