13

CodeIgniterを使用して記述されたPHPスクリプトをダウンロードしました。ローカルホストから実行すると、adminフォルダーに移動すると、ローカルホストが再び表示されます。また、私のWebホストから実行すると、500内部サーバーエラーが表示されます。

http:// localhost/myprojからサイトを実行します。動作します。次に、 http:// localhost / myproj / administratorにある管理ページに移動しようとすると、500内部サーバーエラーが発生します。

ここで、これは.htaccessファイルの間違ったコードが原因である可能性があることを読みました。これは私の現在の.htaccessファイルです

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

# Without mod_rewrite, route 404's to the front controller
ErrorDocument 404 /index.php

私を助けてください。非常に小さな問題かもしれませんが、エラーを見つけることができません。

4

12 に答える 12

33

500 エラーの問題 (CodeIgniter を使用)、Apache の設定が異なると、PHP の構成にエラーがあると 500 エラーが表示されます。

CodeIgniter で 500 エラーをトリガーする方法は次のとおりです。

  1. スクリプトのエラー (PHP の設定ミス、パッケージの欠落など...)
  2. PHP「致命的なエラー」

Apache エラー ログを確認してください。興味深い情報が含まれているはずです。

于 2011-09-12T23:43:19.983 に答える
5

他の誰かがこの問題に出くわした場合に備えて、私は古い CodeIgniter プロジェクトを継承しましたが、インストールに苦労しました。

サイトのローカル インストールを作成しようとして多くの時間を無駄にし、あらゆることを試しました。結局、解決策は簡単でした。

問題は、CodeIgniter の古いバージョン (1.7 以下など) が PHP 5.3 で動作しないことです。解決策は、PHP 5.2 またはそれ以前のものに切り替えることです。

于 2012-08-27T12:41:50.060 に答える
4

サイトの URL から index.php を削除しようとしているのですね。

の代わりに を設定$config['uri_protocol']してみてください。REQUEST_URIAUTO

于 2011-09-12T04:09:00.063 に答える
3

これを .htaccess ファイルに試してください:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule >
于 2018-03-21T13:46:14.087 に答える
2

httpd.conf (Apache 構成ファイル) のコメントを削除します。

LoadModule rewrite_module modules/mod_rewrite.so 
于 2016-10-24T16:46:47.457 に答える
1

サブディレクトリでCodeIgniterを実行するときはいつでも、それに設定RewriteBaseします。/myproj/の代わりにとして設定してみてください/

于 2011-09-11T11:37:14.380 に答える
1

私は遅れていることを知っていますが、これは誰かを助けるでしょう。

書き換えエンジンが有効になっているかどうかを確認します。

そうでない場合は、書き換えエンジンを有効にしてサーバーを再起動します。

sudo a2enmod rewrite
sudo service apache2 restart
于 2016-09-01T02:16:16.097 に答える
0

これはおそらくこのスレッドにはもう関係ありませんが、誰かの役に立てば幸いです。私の(くだらない)サーバーで実行されているphpバージョンでサポートされていない配列をコントローラーに返させたため、過去1時間で500のエラーが発生しました。些細なことのように見えますが、codeigniter エラーの特徴がありました。

私は使用しなければなりませんでした:

class emck_model extends CI_Model {

    public function getTiles(){

        return array(...);

    }

} 

それ以外の

class emck_model extends CI_Model {

    public function getTiles(){

        return [...];

    }

}

乾杯

于 2013-08-29T00:23:49.367 に答える