Wordpress 硬刷新\u重写\u规则()未重新生成.htaccess
我目前正在开发一个主题,希望在其中添加两个永久链接。Wordpress 硬刷新\u重写\u规则()未重新生成.htaccess,wordpress,.htaccess,redirect,mod-rewrite,wordpress-theming,Wordpress,.htaccess,Redirect,Mod Rewrite,Wordpress Theming,我目前正在开发一个主题,希望在其中添加两个永久链接。 一个是使用一些自定义参数和值(存储在wp_options表中的规则)重定向到index.php,另一个是重定向到我的模板中提供admin-ajax.php功能的文件(存储在.htaccess文件中的规则) 由于我处于开发模式,我也通过在“init”钩子上执行来刷新规则(我知道这是一种不好的做法,但这似乎是检查.htaccess文件中是否有任何更改的最佳方法)。 问题: 尽管默认情况下,flush\u rewrite\u rules()重置硬刷
一个是使用一些自定义参数和值(存储在wp_options表中的规则)重定向到index.php,另一个是重定向到我的模板中提供admin-ajax.php功能的文件(存储在.htaccess文件中的规则) 由于我处于开发模式,我也通过在“init”钩子上执行来刷新规则
(我知道这是一种不好的做法,但这似乎是检查.htaccess文件中是否有任何更改的最佳方法)。 问题:
尽管默认情况下,
flush\u rewrite\u rules()
重置硬刷新,我还是将参数设置为true以确保正确。我的第一条重写规则执行得很好,而.htaccess文件在我访问后端的options-permalink.php页面之前是不会重新生成的(在那里,flush函数也会被调用并工作?!)
我已经尝试过在参考中建议的另一个钩子上执行flush\u rewrite\u rules()
提前感谢您的帮助 我终于找到了解决办法…
save\u mod\u rewrite\u rules()
是生成和添加重写规则的函数。文件中说:
/* If the function named 'save_mod_rewrite_rules' exists, it will be called. */
此函数是wp admin/includes/misc.php
的一部分,该函数由wp admin/includes/admin.php
加载,该函数在admin\u init
操作挂钩之前加载
然而,您不应该在任何init操作挂钩上刷新重写规则:您不应该在
init
上挂钩flush\u rewrite\u rules
。更糟糕的是,如果这是一个硬冲水…哦哇-谢谢你@yivi你不必要的评论。正如我已经指出的,出于测试目的,我在init上钩住了函数。正如我所指出的,我知道你应该把它挂在其他动作上……尽管如此,这对冲洗过程本身应该没有影响,对吗?如果你真的想帮忙的话,请帮自己一个忙,阅读整篇文章。
/* If the function named 'save_mod_rewrite_rules' exists, it will be called. */