尝试使用ErrorDocument处理请求时遇到500内部服务器错误错误

时间:2014-08-19 02:11:23

标签: php wordpress apache .htaccess

我刚刚将我的wordpress网站从一个托管服务器移动到另一个托管服务器,在另一家公司。迁移后我收到错误"在尝试使用ErrorDocument处理请求时遇到了500内部服务器错误错误"。我已经在stackoverflow和其他网站上阅读了关于此错误的帖子,并且他们都说要尝试3件事:

  1. 打开根文件夹的权限 - 尝试过 - 没有区别
  2. 使用.htaccess文件进行调整 - 尝试过,但不知道我在做什么
  3. 禁用插件 - 不知道如何
  4. 这是我的路径在cpanel中的样子:

    enter image description here

    以下是完整路径:/ home / usaarbit / public_html / Do ******** on / PrimaryResidentialUS(我模糊了我的客户名称)。

    这是我的.htaccess文件:

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

    我已经尝试将重写规则路径更改为所提及的路径以及其他几个变体,但都无济于事。也许这个文件与它无关,我不知道。

    不再创建error_log。今天早些时候我收到了一个error_log文件,因为我遗漏了一些文件。这已得到修复 - 现在所有文件都在那里。但是不再创建error_log文件了,我只是得到了那个丑陋的错误。

    我不太了解wordpress,但我怀疑有一个简单的调整可以解决这个问题。我应该考虑禁用附加组件吗?如果是这样,我该怎么做?有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果从.htaccess文件中删除〜符号会发生什么?您的新.htaccess文件应如下所示:

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

告诉我们。我也怀疑RewriteBase路径。你有没有从旧服务器复制htaccess?如果是,您需要确保新的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>

您可以从https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

获得帮助

答案 1 :(得分:0)

正在发生的事情是PHP文件(或者你正在使用的任何后端语言)在尝试加载ErrorDocument时失败了,当将网站从一个地方移动到另一个地方时,9次中有10次意味着你要么没有正确地将数据库从一个地方导入到另一个地方,或者你有不同的MySQL用户信息会改变对MySQL服务器的访问,从而导致依赖于从中获取信息的错误文档失败。我建议导出以前的Wordpress安装中的所有信息,并在新的源代码重新安装Wordpress。这将重新配置WordPress以在新位置工作并使用新的MySQL用户名和密码,而不是旧的用户名和密码。