看来问题不在于add_rewrite_rule
而是与.htaccess
多站点的文件。
其中一个测试地址是
http://example.com/foobar/def/whatever.php
这是导致结果的htaccess的一部分(第2行)
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
RewriteRule . index.php [L]
如果我把这行注释掉,它会像预期的那样工作,但它可能会破坏其他东西。所以你必须添加自己的规则
above 最新块:
RewriteRule ^([_0-9a-zA-Z-]+/)?foobar/(abc|def|ghi)/(.+)(/(\\d.+))$ index.php?my_action=$2&my_name=$3&my_version=$5 [R=301,L]