首先要检查的是确保您访问permalinks页面,或者致电flush_rewrite_rules
调用add\\u rewrite\\u rules后,函数将执行一次,否则将无法应用该规则。
所以,重申一下你的问题,你是否正试图改写以下内容:
example.com/project-centers/kitchen/x/y/z
为此:
eample.com/index.php?pagename=kitchen&var1=x&var2=y&var3=z
如果这是正确的,您的代码看起来应该可以工作,但如果不是,您应该尝试这样编写重写规则:
add_rewrite_rule(
\'^project-centers/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$\',
\'index.php?pagename=$matches[1]&var1=$matches[2]&var2=$matches[3]&var3=$matches[4]\',
\'top\'
);
这一更改是为了让regex明白,它永远不应该与
/
在任何匹配的字符串中,否则它很容易做到这一点,事情就会变得复杂。
Remember to either visit the permalinks page, or call the flush_rewrite_rules
function once (not on every page load) after you call add_rewrite_rules otherwise the rule will not get applied!
如果有帮助,请告诉我