您不能仅仅通过添加重写规则来实现这一点,您需要更改每个记录的规则。
以下是一种简单的方法:
function my_rewrite_rules($rules) {
$new_rules = array();
$new_rules[\'(?:de|en)/?$\'] = \'index.php\';
foreach ($rules as $key => $val) {
$key = \'(?:de|en)/?\' . $key;
$new_rules[$key] = $val;
}
return $new_rules;
}
add_filter(\'rewrite_rules_array\', \'my_rewrite_rules\', 11);
现在,您仍然需要一种方法来接收语言值,以便将其保存在cookie中。
您可以为该语言添加一个参数,以便在$_GET
超级全球。但这意味着要抵消所有其他规则的所有其他参数,这将涉及大量正则表达式。
相反,您可以通过查询$_SERVER
全球:
preg_match(\'/\\/(de|en)(\\/|$|\\?|#)/\', $_SERVER[\'REQUEST_URI\'], $matches);