RSS提要重写匹配错误规则

时间:2018-03-05 作者:Thomas Huxley

我正在尝试添加一个重写,以便为列出特定帖子类别的页面提供提要。

例如:。/mining-civil-engineering/newsroom/feed/ 将指向index.php?cat=21,22&feed=rss2

这些重写是根据模板类型以编程方式添加的,因此不必手动添加。我正在使用add_rewrite_rule.

不幸地$wp_rewrite 仍然似乎只符合指定页面注释的规则(.?.+?)/(feed|rdf|rss|rss2|atom)/?$ 输出到pagename=mining-civil-engineering%2Fnews-events&feed=feed.

我试过使用$wp_rewrite->non_wp_rules 所以我的。htaccess现在看起来像

RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteRule ^national-security/events/feed/ /index.php?cat=10&feed=rss2 [QSA,L]
RewriteRule ^mining-civil-engineering/news-events/feed/ /index.php?cat=21,22&feed=rss2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
不幸的是,它似乎仍然只与前面的查询匹配。我在htaccess行中进行了注释,直到它知道它只适用于我想要的重写,但正文仍然返回了注释提要,我的调试显示它与提要url匹配。我确实和这两个都一样$wp_rewrite->flush_rules( true ); 并在管理中重新保存永久链接。

你知道我做错了什么吗?我完全迷路了。

谢谢

1 个回复
SO网友:Thomas Huxley

解决方案是在add_rewrite_rule.

规则是^/mining-civil-engineering/news-events/feed/ 现在读到^/mining-civil-engineering/news-events/(feed|rss2)/?$

结束