我有一个非常简单的问题:我想修改。htaccess文件。看来我不是唯一一个人,我已经看到了其他问题,并在google上搜索了这个问题。没有任何帮助。某些内容不断覆盖该文件,有时会导致它在整个站点上抛出http 500。
我已经知道或尝试的:
我应该将自定义htaccess规则放在Wordpress块之外(标记为# BEGIN/END wordpress
)缓存插件还有另一个块。我的自定义规则也在这个区块之外清空缓存或同时启用/禁用缓存不会触发问题起初,我把我的自定义规则放在其他规则之间BEGIN
和END
我给了一个自定义名称的块,但我不确定Wordpress是否真的在寻找# BEGIN wordpress
或者只是为了# BEGIN
, 所以我现在用了一个完全不同的名字一些消息来源建议对文件进行chmoded(-w
) 这样就不能再改变了。我已经试过了,它不起作用,只是被重新创建了没有明确的步骤来重现问题。有时它会持续一整晚而不会覆盖我的代码,另一次只需要两分钟当文件被覆盖时,有时它会保留部分自定义规则。通常在三分之一到三分之二之间,这似乎相当武断。这通常会使整个站点转到HTTP 500,我必须通过ssh恢复它(git checkout .htaccess
).我已经浏览了一些Wordpress的源代码,所有代码似乎都是按原样编写的。我确实看到它在检查BEGIN和END块(尽管代码没有注释,而且很难看)我还添加了fclose(fopen(\'htaccess-changed\',\'w\'));
写入的Wordpress函数。htaccess文件,但无效。htaccess文件再次被破坏,但从未创建htaccess更改的文件即使我要放弃,只是恢复工作。htaccess版本的每一个页面加载,然后仍然无法工作,因为这该死的东西不时抛出http 500。每分钟运行一次cronjob也是。。。我的意思是,拜托,我必须求助于这样的方法吗?即使我这样做了,它可能会随机下降整整一分钟。在共享的网络主机上,这是一种糟糕的做法目前我的猜测是wordpress cron触发了它,但它似乎太随机了,我想不出是哪个触发了。它在五分钟内只发生了三次(最终认为它是可以复制的,但现在不再发生了),最频繁的cron是每四分之一小时一次所以我已经研究这个bug几天了,但我已经没有什么东西可以尝试了。当然,当网站随机中断时,它就无法上线。
在何处查找覆盖的代码的任何建议。htaccess文件,以及如何使其保留我的修改?
已安装插件:Cherry插件、联系表单7、Register Plus Redux、W3 Total Cache和WooCommerce。
Update: htaccess已更改文件已创建,但位于wp admin目录中!我还保存了datetime和请求uri,这表明它可以在任何请求上发生。不过,大多数情况下,我都会看到管理ajax请求,这些请求的发生率通常很高,这就解释了htaccess文件被完全破坏的原因(即请求受到干扰)。奇怪的是,没有其他人经历过这种情况。但至少是在管理面板中。。。但是什么。。。想法?