不,你在正确的轨道上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/