我在编辑带有超链接的帖子时收到了404,怎么了?

时间:2018-02-18 作者:thespacecamel

你会喜欢的。大约一周前,当我编辑一篇文章时,如果该文章包含超链接(例如<a href="...">...</a>) 当我更新它时,我会被发送到404“找不到页面”页面,并且帖子不会保存。这里有一段视频:https://drive.google.com/file/d/1OQZ9k5f_jxbxsT4SEyD-pH28FSIMoQlT/view.

我在wp-admin/post中添加了一些调试代码。php来查看发送POST请求时是否调用了它,而不是。请求将以某种方式进行索引。php,并且没有URL重写,所以它变成了404。

我怀疑插件“自动关联链接”是罪魁祸首(https://wordpress.org/plugins/wp-auto-affiliate-links/), 因为它将超链接更改为附属链接,并且出现了一些错误。但当我停用插件后,错误仍然会发生。

事实上,我暂时将站点切换到使用新DB(所有默认设置),使用默认(2017)主题,没有激活的插件,我仍然遇到同样的问题。然而,当我将包含WordPress文件的目录复制到本地副本(运行VVV)时,我没有发现问题。

因此,似乎不太可能是插件导致了问题,因为问题持续存在,所有插件都已停用,甚至在新的DB上(因此他们不可能更改数据库中的某些内容)。插件成为罪魁祸首的唯一方法是更改WP核心文件,对吗?但如果是这样的话,我希望在我本地的VVV站点上使用这些相同的文件时重现这个问题。正当

我不认为这是一个WP配置问题,因为我在新安装的WP上也遇到了同样的问题。

我怀疑这可能是一个。htaccess问题,但这里是我的普通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
看起来很正常,对吧?

我认为最后一种可能是托管公司uniserve(https://www.uniserve.com/) 在拦截/wp admin/post请求的Web服务器上运行了一些内容。php并将其发送到/索引。php,但仅当帖子内容中有超链接时。也许这是为了阻止一些垃圾邮件发送者创建带有指向其网站的反向链接的帖子或其他内容。

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

我创建了a duplicate issue in the WordPress support forum. 在那里,我们进一步探讨了这个问题,这个问题似乎来自托管公司的mod security指令。因此,我们将把站点移动到一个新主机。

SO网友:Aadil P.

试试这些-你检查过你的php错误日志了吗?-您已经尝试禁用插件和其他东西,尝试更改默认主题,然后查看是否仍然出现此错误-检查代码中是否有可能导致问题的save\\u post hook实例(如果有)https://codex.wordpress.org/Plugin_API/Action_Reference/save_post - 打开wp\\u debug,在保存post后将save\\u post挂钩添加到die,并检查页面是否有任何错误

结束

相关推荐