";内部服务器错误500”;使用.htaccess文件时


"Internal Server Error 500" while using .htaccess file

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

我想在php中更改我网站的URL,所以我使用.htaccess文件,但它显示了内部服务器错误500

有人能帮我解决服务器错误吗?

寻找您的宝贵意见。

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

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

出现此错误的主要原因有三个:

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

文件或文件夹权限

[Sun Jun 05 12:03:22 2011][error][client 66.249.72.82]Application.cpp:601:Directory"/home1/examplec/public_html"可由组写入

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

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

您可以使用位于cPanel的Files类别中的File Manager、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配置不正确强制类型

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

举个例子:当你有一个名为"item"的文件(就像Nucleus用于FancyURL(,并希望服务器将其解析为php时,你可以在.htaccess文件中使用以下代码:

ForceType application/x-httpd-php

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

SetHandler application/x-httpd-php

php值在没有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

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