不,你在正确的轨道上add_rewrite_rule 涉及功能。生成的重写规则不发送303标头。
在这种情况下,问题在于您的代码很容易修复。
在这一行:
add_rewrite_rule(\'^recommendations\\/(.*)\\/?\', \'recommendations/\', \'top\');
您正在使WordPress输出修改的自定义
.htaccess 具有如下恶劣重写规则的文件:
RewriteRule ^^recommendations\\/(.*)\\/? /recommendations/ [QSA,L]
这不仅是丑陋的正则表达式(你得到了一个双开头的行标记--
^^) 但是生成的规则被破坏了,因为不是第二个
^ 你应该有
/.
解决方案很简单,需要找到recommendations 然后在中使用的页面/帖子add_rewrite_rule 功能如下:
add_rewrite_rule( \'^recommendations\\/(.*)\\/?\', "index.php?page_id={$page_id}", \'top\' );
其中
{$page_id} 示例中的variable语句应该是所述ID
add_rewrite_rule 功能显示在WordPress Codex页面上。
刷新重写规则后,WordPress将提供如下URL:
http://www.example.com/recommendations/this/is/my/recommendation/
内容为
http://www.example.com/recommendations/