访问云虚拟主机上的网站提示“Internal Server Error”报错

本文主要介绍访问云虚拟主机上的网站时提示“Internal Server Error”报错的原因和解决方案。

问题描述

  • Linux操作系统云虚拟主机:访问该主机上的网站时提示“Internal Server Error”相关报错,具体信息如下所示:

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator, *** and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    More information about this error may be available in the server error log. 
    说明

    如果Linux操作系统云虚拟主机上安装了WordPress网站后,修改WordPress网站中主题的某些变量时,也会出现上述报错信息。

  • Windows操作系统云虚拟主机:访问该主机上的网站时提示“Internal Server Error”相关报错,具体信息如下所示:

    • 问题一:“HTTP 错误 500.19 - Internal Server Error”报错信息image1

    • 问题二:“HTTP 错误 500.0 - Internal Server Error”报错信息image2

    • 问题三:“HTTP 错误 500.22 - Internal Server Error”报错信息image3

问题原因

解决方案

请根据实际场景原因,选择对应的解决方案。

.htaccess文件写入错误的代码

.htaccess文件介绍

  • .htaccess文件是普通版Linux操作系统云虚拟主机的一个配置文件,其主要负责相关目录下的网页配置。

  • 通过.htaccess文件,您可以完成网页的301重定向、自定义404错误页面、改变文件扩展名、允许或阻止特定用户访问网站、禁止目录列表、配置默认文档等功能。

  • .htaccess文件以半角句号(.)开头,在Linux操作系统主机中属于隐藏文件,可以通过FTP工具设置显示隐藏文件进行查看,具体操作,请参见如何显示FTP软件的文件列表中的隐藏文件

解决方法

如果.htaccess文件中添加了一些与源文件冲突的代码,会导致网站访问报错。建议您将上传到主机中的.htaccess文件进行备份(下载后保存在本地主机),再删除该文件,然后重新访问网站。具体操作,请参见使用文件管理器管理文件

文件权限设置错误

系统中目录和文件权限默认为755,而图片、文字等HTML文件的权限应该为644。上传的文件出现500报错后,建议检查文件权限,您可以通过FTP工具修改相关权限。具体操作,请参见Linux操作系统云虚拟主机如何修改文件目录权限

PHP文件配置错误

本步骤以WordPress网站为例,访问该网站后出现“Internal Server Error”报错,请参考以下步骤解决问题。

  1. ./wp-includes/class-http.php文件进行备份。

  2. 修改./wp-includes/class-http.php文件中的以下内容。

    • 修改前:

    $request_order = apply_filters('http_api_transports', array('curl','streams'),$args,$url);
    • 修改后:

    $request_order = apply_filters('http_api_transports',array('streams'),$args,$url);
  3. 将上述步骤中更新好的./wp-includes/class-http.php文件同步到wp-includes文件夹中。

  4. 重新访问WordPress网站,确认正常访问即可。

PHP版本过低

本步骤以WordPress网站为例,云虚拟主机安装网站时,在配置数据库或修改WordPress网站中主题的某些变量后提示“Internal Server Error”,此问题是由于PHP版本过低导致,请参考以下步骤解决问题。

  1. 登录云虚拟主机管理页面
  2. 找到待操作的云虚拟主机,单击对应操作列下的管理
  3. 在左侧导航栏,选择高级环境设置>PHP版本设置

  4. 确认PHP版本是否满足业务要求。

    如果PHP版本存在问题,选择对应的低版本即可,单击保存设置,然后单击确认

  5. 确认可以正常访问WordPress网站,且成功修改主题。

服务器资源超载

服务器资源超载表示同一时间内处理器有较多进程需要处理。关于如何处理CPU使用率较高的问题,具体操作,请参见:

.net Framework版本不匹配

如果您的网站基于Asp.net,您可以根据网站开发时使用的程序版本调整主机对应.net Framework版本来解决该问题。

  1. 登录云虚拟主机管理页面
  2. 找到待操作的云虚拟主机,单击对应操作列下的管理
  3. 在左侧导航栏,选择高级环境设置>.net版本设置

  4. 确认.net FrameWork版本是否满足网站程序版本需求。

    如果.net FrameWork版本与网站程序版本不匹配,选择对应的匹配版本即可,单击保存设置,然后单击确认

  5. 请耐心等待生效,确认能正常访问即可。

Windows操作系统的主机环境不支持基于PHP网站

网站程序为Linux系统的Apache程序时,该网站在Linux操作系统主机上运行正常,迁移到Windows操作系统主机后却无法正常访问,原因是Windows操作系统的主机环境不支持运行基于PHP的网站。解决该问题的方案如下所示:

  • 建议更换迁移的目标云虚拟主机为Linux操作系统云虚拟主机,使其满足PHP网站配置环境。具体操作,请参见更改主机操作系统

  • 上传完善的ASP站点代码程序到Windows操作系统的云虚拟主机上。

说明

ASP站点程序代码需要您的网站程序开发人员具体完善。

IIS程序池的.net FrameWork版本不是经典模式

您可以通过云虚拟主机控制台将IIS(Internet Information Services)程序池的.net FrameWork版本设置为经典模式版本。操作如下所示:

  1. 登录云虚拟主机管理页面
  2. 找到待操作的云虚拟主机,单击对应操作列下的管理
  3. 在左侧导航栏,选择高级环境设置>.net版本设置

  4. 选择.net FrameWork版本为经典模式版本,单击保存设置,然后单击确认

  5. 请耐心等待生效,确认能正常访问即可。