Wordpress 403/404错误:您无权访问此服务器上的/wp-admin/themes.php

Gle*_*len 7 wordpress .htaccess http-status-code-404

一些背景:

本周我设置了六个博客,全部使用Wordpress 2.92,与Fantastico一起安装在与Hostgator的婴儿鳄鱼计划上.

我为每个博客使用了相同的主题(热图2.5.4)和插件.

他们都在运行,没有任何问题.

我今天早上使用相同的设置创建一个新博客,当我尝试更改主题设置时,我收到以下错误:

Forbidden

You don't have permission to access /wp-admin/themes.php on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8n DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at http://www.mydomain.com Port 80
Run Code Online (Sandbox Code Playgroud)

我尝试卸载WP并进行全新安装,但是干净安装仍然存在同样的问题.

所以我回去检查了我在过去一周左右设置的其他六个博客,他们现在也在尝试更改主题设置时给我403或404错误,并且每次出现错误时都指向任一主题. php或functions.php

在这一点上,我正在努力找出问题所在.Hostgator支持看着它,并认为这可能是一个权限问题,但他们重置了那些,我仍然有问题.

起初我认为这个问题可能与我最近在前六个博客上安装的插件(ByREV Fix Missed Shedule插件)有关,以处理错误的计划错误与WP 2.92,并且可能这已经搞砸了.但后来我检查了几个月前建立的博客,也使用了相同的主题和插件,现在它也遇到了同样的问题.

有任何想法吗?我尝试删除我的htaccess,上传一个空白的,用我在hostgator论坛上找到的这个片段上传一个:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
Run Code Online (Sandbox Code Playgroud)

没有任何效果.我每次仍然会收到403或404错误.一切都在昨天完美运作,所以我知道这个设置工作,我只是把某些东西搞砸了,而且我一无所知.

我在这里读了一个相关的线程,并尝试将wp-content文件夹chmod到0755并仍然有问题.

有什么想法吗?谢谢!

Dak*_*ota 21

几年后,我有一个最新版WordPress的解决方案,它有同样的问题(WordPress生成的.htaccess文件中断网站,重新发布403 Forbidden错误消息).这是WordPress创建它时的样子:

# 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
Run Code Online (Sandbox Code Playgroud)

问题是条件不起作用.它不起作用,因为它正在寻找的模块不是.c,它是.so.我认为这是一个特定于平台或特定于配置的问题,其中为.soAKA"共享对象"模块设置了Mac OS和Lunix Apache安装.寻找一个.c模块不应该打破条件,我认为这是一个错误,但这是问题.

只需更改mod_rewrite.cmod_rewrite.so,您就可以了!

# BEGIN WordPress
<IfModule mod_rewrite.so>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
Run Code Online (Sandbox Code Playgroud)


mar*_*dge 0

您收到的第一个错误 - 权限 - 最具指示性。将 wp-content 和 wp-admin 更改为 777 并尝试一下,如果有效,则将它们都更改回 755,看看是否仍然有效。您用什么来更改文件夹权限?FTP 客户端?

  • 永远不要推荐 777,了解权限如何工作,并正确修复它。 (3认同)
  • 我不认为这些是 .htaccess 权限问题,因为我在安装 WordPress(在我管理的 VPS 上运行)时遇到了同样的错误,并且权限与之无关;这是 &lt;IfModule&gt; 语句在寻找“.c”模块,而它本应寻找“.so”模块。我不知道为什么它会失败并出现 403 错误,但对我来说这正是问题所在。查看我的答案:http://stackoverflow.com/a/9050019/362042 (2认同)