php - 使用 .htaccess 文件时出现 "Internal Server Error 500"

标签 php .htaccess

<分区>

Possible Duplicate:
Internal Server Error

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

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

寻找您的宝贵意见。

最佳答案

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

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

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

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

文件或文件夹权限

[Sun Jun 05 12:03:22 2011] [error] [client 66.249.72.82] Application.cpp:601 中的 SoftException:目录“/home1/examplec/public_html”可按组写入

在这种情况下,您的帐户中有一个文件夹的权限集无效。要更正此问题,只需将权限从“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 配置不当 力型

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

一个例子:当你有一个名为“item”的文件(就像 Nucleus 用于 FancyURL 的文件)并希望服务器将其解析为 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

关于php - 使用 .htaccess 文件时出现 "Internal Server Error 500",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14116869/

相关文章:

PHP Mysql 简化

Apache 服务器上的 Angular 应用程序无需重写规则

regex - htaccess中这个301规则怎么写

php - move_uploaded_file - 为什么它很重要?

php - 为 Laravel 的工厂在全局设置 Faker 的种子

php - jquery获取输入类型文本中写入的文本

javascript - 单击文件下载后,成功后使用 AJAX 重定向到另一个页面

mysql - 在 PuTTy SSH 中获取 Laravel 项目中 WordPress 的子域 URL

.htaccess - htaccess RewriteEngine 适用于 HTTP 但不适用于 HTTPS

python - 我可以删除 django 中 url 中的前导零吗?