Multisite custom rewrite urls

时间:2015-09-08 作者:pdme

在运行Polylang插件的多站点安装中,我想添加一个自定义重写规则。

目前,我的permalink结构是:

http://host.com/sitename/language/pagename
现在,我想添加一个名为country的查询字符串,如下所示:

http://host.com/sitename/country/language/pagename
我尝试了以下方法,但没有成功:

function custom_rewrite_basic() {
  add_rewrite_tag(\'%country%\', \'([^&]+)\');
  add_rewrite_rule(\'^([a-z]+)/?\', \'index.php?country=$matches[1]\', \'top\');
}
add_action(\'init\', \'custom_rewrite_basic\');
有什么想法吗?

--编辑

越来越近,但仍然不存在:

add_rewrite_tag(\'%country%\', \'([^&]+)\');
add_rewrite_tag(\'%lang%\', \'([^&]+)\');
add_rewrite_rule(\'^([^/]*)/([^/]*)/?\',\'index.php?country=$matches[1]&lang=$matches[2]\',\'top\');
这里的问题是:

polylang承认国家是语言,尽管查询变量“lang”设置正确

1 个回复
SO网友:Mark Kaplun

您的规则与所需url的结构不匹配。该规则基本上只处理一个国家的URL。正确的规则是什么?您需要查看插件生成的规则类型并模仿它们。