我有一个带有几个不同插件的Wordpress WooCommerce网站。最近,每月大约一次尝试加载除主页之外的任何页面都会导致404错误。我发现这是因为有些东西正在将.htaccess文件重置为完全空白。一旦我重新上传我的备份,它就会得到修复。在网上寻找答案,似乎它可能是一个插件导致这个,但我不知道哪一个,也不知道为什么现在?我也看到#BEGIN Wordpress的建议...... #END Wordpress但是已经存在于.htaccess文件中,以及其他一些我不确定它来自何处的代码。关于如何防止这种情况发生的任何建议?我的.htaccess权限目前是644,这是我的代码:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<IfModule mod_mime.c>
AddType application/x-javascript .js
AddType text/css .css
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css application/x-javascript text/x-component text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/javascript
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
</IfModule>
</IfModule>
答案 0 :(得分:0)
它可能是一个清除文件的插件;你需要将它们全部停用并重新激活,这需要一些时间等待查看哪个插件是问题。
尝试将文件权限设置为444并查看是否停止将文件写入并保存为空白。 444权限只允许root写入文件,通常不是插件的权限。如果文件在444仍然消失,则可能是服务器问题或设计糟糕的插件,因为root仍然可以写入文件。
只要WordPress能够继续读取文件并正常工作,您甚至可以获得440或400权限。
这也可能是恶意软件;还原备份时,是指还原.htaccess文件还是整个站点?你有没有用好的副本替换所有单词WP文件和文件夹?您是否浏览过该网站以查找恶意软件?
.htaccess中的其他代码是添加浏览器gzip压缩;它不是黑客代码,也不会导致文件保存为空白。它既可以手动添加,也可以通过插件添加。