无法修改(更新)帖子-找不到页面

时间:2017-02-16 作者:fugitive

几天来,我在修改一些帖子时遇到了问题。当我试图修改帖子的内容时,我收到404错误,重定向到我找不到的页面。

做谷歌研究,所有的基本测试,清除缓存,浏览器,启用/禁用插件,更改永久链接,等等,我在WP论坛上发现了这一点,说Apache的ModSecurity 导致问题:

https://wordpress.org/support/topic/clicking-the-post-draft-button-sometimes-redirects-a-404-not-found-page/

https://wordpress.org/support/topic/404-page-not-found-when-savingupdating-a-postspage/

但是,这对我不起作用,因为我没有在Cpanel中选择禁用ModSecurity - 已从托管公司禁用。

我得到了他们的回应:

Mod\\u sec是一种重要的服务器级安全功能。我们不会禁用mod\\u sec。

某些WordPress帖子(如SQL注入攻击)可能会触发mod\\u sec,但肯定不是所有WordPress帖子。

有什么办法可以解决这个问题吗?我有一个SSH访问权限,有点限制,但可能会有所帮助。

此外,我也不是百分之百确定,但我注意到我可以(没有全部测试)更新我的旧帖子。

约5-6m长的柱子正在投掷404 错误WP版本为4.7.2

EDIT

我现在唯一的选择是备份生产站点,加载我的locahost,更新帖子并将其推回生产。

然而,这一点都不方便:(有人有解决方案吗?

请帮忙!谢谢

4 个回复
最合适的回答,由SO网友:Johansson 整理而成

如果您可以访问远程MySQL,这可能会对您有所帮助。不久前,当我与我的托管提供商发生另一个问题时,我就这样做了。

对WordPress文件进行完整备份,但不要备份数据库。将它们复制到本地主机。现在,在wp-config.php 文件,将您的数据库设置为在线网站的远程数据库(显然先进行备份)。

define(\'DB_HOST\', \'YOUR REMOTE DATABASE\');

现在,通过在中定义localhost作为站点URL和站点地址,强制本地安装使用localhostwp-config.php :

define(\'WP_SITEURL\', \'http://localhost/\');

define( \'WP_HOME\', \'http://localhost/\' );

现在,您可以禁用mod_sec 并更新您的帖子。

PS: 我没有试过这个mod_sec, 我不能保证这对你有用。我甚至不知道这是否得到官方证实,但由于我自己做了这件事,并且工作过,我考虑与你分享它(因为它太长了,无法作为评论发布)。我甚至不知道它是否安全。

但是,请注意硬编码URL和上载,因为如果您在localhost上尝试上载文件,则会出现问题。但是修改内容本身不应该引起问题。

PS 2 请温和对待你的反对票。虽然这看起来更像是一个科幻小说项目,但它对我个人来说很有用,所以我不能接受别人告诉我这永远不会奏效。

SO网友:Anwer AR

我无法保证解决问题,但有几点可能会帮助您找到解决方案。

1: 再次检查您的.htaccess 文件并将下面的代码粘贴到其中。

# 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
2:检查您的database 查找错误并执行db repairtable optimization

3: 尝试更改目录和文件权限(&P);将其更改为755, 775 甚至777 有一段时间。同时更改htaccess 文件权限777 有一段时间。

4: 仔细检查编辑后屏幕的URL,确保URL如下所示。

http://yourdomain.com/wp-admin/post.php?post=1&action=edit
在哪里post=1post IDaction 值必须等于edit.

5: 我认为您已经从设置更改了permalink结构,因为这是非常基本的东西,适用于前端,但请尝试再次将其更改为Numeric.

6: 确保您没有修改任何核心WordPress文件或文件名。

7: WordPress提供了一个名为save_post 您可以使用它来测试post数据以进行澄清。了解更多信息here

8: 最后,也许将核心WP版本转换为旧版本可能会奏效?

SO网友:bobbyjoe

通常,托管公司可以禁用特定mod_security 可能影响您托管帐户的规则。我以前遇到过这个问题,通常是一个插件导致了这个问题。

尝试禁用插件并再次更新帖子?

SO网友:Vinnie James

进入管理面板并重置永久链接

相关推荐

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?