3

重複の可能性:
内部サーバー エラー

PHP で自分の Web サイトの URL を変更しようとしているので、これには .htaccess ファイルを使用していますが、Internal Server Error 500が表示されます。

サーバーエラーの解決方法を教えてください。

貴重なご意見をお待ちしております。

4

2 に答える 2

7

500サーバーエラーの原因を特定するエラーの原因を特定する ために使用できるいくつかの基本的な手順を次に示します。

  • cPanelの[ログ]セクションにあるエラーログツールを開きます。
  • エラーの原因となっているWebページをリロードします。エラーログページをリロードします。
  • エラーログでIPアドレスを検索して、それに関連するエラーを探します。IPアドレスはページの上部にあります。

このエラーが表示される主な理由は3つあります。

  1. ファイルまたはフォルダのアクセス許可。
  2. .htaccessのコードまたは構文が正しくありません。
  3. 不適切に構成されたphp.ini。

ファイルまたはフォルダーのアクセス許可

[Sun Jun 05 12:03:22 2011][エラー][クライアント66.249.72.82]Application.cpp:601のSoftException:ディレクトリ "/ home1 / examplec/public_html"はグループで書き込み可能です

このシナリオでは、アカウントに無効な権限が設定されたフォルダーがあります。これを修正するには、権限を「777」から「755」に復元するだけです。各サイトは異なる場合がありますが、ほとんどの場合、次の権限が正しい使用権限です。

ファイル-644CGIスクリプト-755ディレクトリ-755

権限は、cPanelのファイルカテゴリにあるファイルマネージャー、FTPクライアント、またはSSH/Bashの「chmod」コマンドを使用して変更できます。ファイルとフォルダのアクセス許可を変更する方法の詳細については、ナレッジベースの記事「ファイルとユーザーのアクセス許可の設定」を参照してください。

.htaccessのコードまたは構文が正しくありません

.htaccessで実行できることは非常に多く、使用するのは難しくありませんが、構文を正しく入力しないと、Server500エラーが発生する可能性があります。エラーの原因となる可能性のあるいくつかの一般的な例を以下に示します。

構文が閉じられていません

[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.iniForceType

そのファイルタイプの通常の拡張子とは異なる拡張子を持つ(またはない)ファイルを使用している場合は、.htaccessファイルでForceTypeを使用して、そのファイル(またはフォルダー内のすべてのファイル)の処理方法をサーバーに明確にすることができます。 (これはphpsuexecのないサーバーで機能します)。

例:「item」というファイルがあり(NucleusがFancyURLに使用するように)、サーバーでphpとして解析したい場合は、.htaccessファイルで次のコードを使用します。

ForceType application/x-httpd-php

ただし、サーバーはphpsuexecを使用しているため、これにより内部サーバーエラーが発生します。これを解決するには、ForceTypeの代わりにSetHandlerを使用するだけなので、.htaccessファイルは次のようになります。

SetHandler application/x-httpd-php

php_value phpsuexecのないサーバーでは、.htaccessファイルのphp_valueステートメントを使用してphpの設定を変更できます(実際にはphp.iniの設定を上書きします)。phpsuexecを使用するサーバーでは、これもサーバーエラーになります。これを解決するには、.htaccessファイルを置いたのと同じフォルダーに置いたphp.iniファイルを使用できます。その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 に答える