3

可能重复:
内部服务器错误

我希望在 php 中更改我的网站的 URL,所以我为此使用 .htaccess 文件,但它显示了Internal Server Error 500

谁能帮我解决服务器错误?

寻找您的宝贵意见。

4

2 回答 2

7

找出导致 500 服务器错误的原因 以下是一些基本步骤,可用于找出导致错误的原因。

  • 打开位于 cPanel 日志部分的错误日志工具。
  • 重新加载导致错误的网页。重新加载错误日志页面。
  • 在错误日志中搜索您的 IP 地址以查找与之相关的任何错误,您的 IP 地址位于页面顶部。

您会看到此错误的主要原因有 3 个:

  1. 文件或文件夹权限。
  2. .htaccess 中有错误的代码或语法。
  3. 配置不当的 php.ini。

文件或文件夹权限

[Sun Jun 05 12:03:22 2011] [error] [client 66.249.72.82] SoftException in Application.cpp:601: Directory "/home1/examplec/public_html" is writeable by group

在这种情况下,您的帐户有一个具有无效权限集的文件夹。要更正此问题,只需将权限从“777”恢复为“755”即可。虽然每个站点可能不同,但以下权限通常是正确使用的权限:

文件 - 644 CGI 脚本 - 755 目录 - 755

您可以使用位于 cPanel 的文件类别中的文件管理器、FTP 客户端或使用 SSH/Bash 中的“chmod”命令来修改权限。有关如何更改文件和文件夹权限的更多信息,请参阅我们的知识库文章设置文件和用户权限

.htaccess 中的错误代码或语法

.htaccess 可以做的事情范围很广,而且使用起来并不难,但是如果您没有正确输入语法,它可能会导致服务器 500 错误。下面列出了一些可能导致错误的常见示例。

语法未关闭

[Sun Jun 05 12:11:38 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: ExampleRule/Module> 未关闭。

同样,解决方案是简单地修复语法或删除它。在这种情况下,请正确关闭结尾的“”指令并将规则放在自己的行中以解决问题。

这些只是可能由错误的 .htaccess 参数引起的几个常见示例。您遇到的情况可能会有所不同,但通常错误消息的描述性足以确定其中的错误而无需进一步调查。配置不当的 php.ini ForceType

当您使用带有(或不带有)扩展名的文件时,该文件类型的正常扩展名不同,您可以在 .htaccess 文件中使用 ForceType 以使服务器清楚地知道如何处理该文件(或文件夹中的所有文件) (这适用于没有 phpsuexec 的服务器)。

一个例子:当你有一个名为 'item' 的文件(如 Nucleus 用于 FancyURL's)并希望它被服务器解析为 php 时,你在 .htaccess 文件中使用以下代码:

ForceType application/x-httpd-php

但是,由于我们的服务器使用 phpsuexec,这将导致内部服务器错误。要解决这个问题,您可以简单地使用 SetHandler 而不是 ForceType,因此您的 .htaccess 文件变为:

SetHandler application/x-httpd-php

php_value 在没有 phpsuexec 的服务器上,可以使用 .htaccess 文件中的 php_value 语句来更改 php 的设置(实际上是覆盖 php.ini 中的设置)。在带有 phpsuexec 的服务器上,这也会导致服务器错误。为了解决这个问题,您可以使用一个 php.ini 文件,该文件与您放置 .htaccess 文件的位置相同。在该 php.ini 文件中,您可以更改所有 php 值。您只需将要修改的值放入该文件中。例如,如果您想将 short_open_tag 设置为 Off,您会使用 short_open_tag?= 在您的 .htaccess 文件中关闭。使用 php.ini 文件会导致:

[PHP]
short_open_tag = Off
于 2013-01-02T04:49:35.470 回答
0

尝试更改所有文件和文件夹的所有权用户。然后您必须查看正确允许的适当文件夹的权限。

于 2013-01-02T04:53:26.653 回答