2011-01-26 5 views
5

Oooops私はもう一度やりました。PHP CodeIgniter 404 on deploy

私のサイト私の開発マシンは、私のサーバーはCentOSの5.5 APACHE 2.2 PHP5のseup

である私は私CodeIgniterのサイト上で404を取得しています窓のWAMP2セットアップ ある

ローカルで完全に働きました配備されていて、何が間違っているのか分からないので、エラーを見つけてください。

これはルートURLです。私はDNSを設定していないので、サーバのIPアドレスだけです。私はcodeigniterをアップロードする前に、標準のApacheページを表示していました。私は設定ファイルを見てきました。それは大丈夫です。それはファイルのアクセス許可のエラーですか?私は/ var/www/htmlディレクトリ全体でchmod o + rwを設定しました。 httpdのerror_logには何も表示されません

mod_rewriteモジュールであれば試してみましたが、RewriteEngineをオンにした.htaccessファイルでテストディレクトリを作成しましたが、それでは。

私はconfig内でlog_thresholdを4に設定しましたが、ログメッセージは表示されないため、pre-> codeigniterエラーの場合は本当に分かりませんが、それは私のエラービューを読み込んでいるので、それはだと思いますまだ何もログが書かれていない、それについて何ですか?

:私は直接IEコントローラを打つことを発見した@jondavidjohnするには、私はこの作業を取得するための煙で実行しているとして、すべてのヘルプは非常にいただければ幸いです

...

更新 感謝

あなたのモデルを見つけることができない「modelnamを:http://addr/index.php/GeoController/markers/

は言っコントローラ特定のエラーを私に提供しますE」

は@jondavidjohn、およびこれを解決するために私の手がかりを与えるため@timdreamする 感謝を解決しました。それは命名上の問題で、私はcamelcasedされたファイル名を持っていた、彼らは私が今理解しているから小さくすることができますので、ルートはサイトにつながるinnefectiveでしたが、私はサイトを持っていました。私はあなたがあなたのルートドメインに入れていることを確認し

$config['base_url'] = "http://www.example.com"; 

に特別な注意を払う..あなたはsystem/application/config/config.phpで正しい設定を持っていることを確認し

+0

は、局所的にこの仕事をしましたか? –

+0

@Matt Asbury - はい、デプロイ時にエラーが発生しました – Jakob

+0

どのようなURLで404エラーが表示されますか?あなたがconfig.phpで変更するのを忘れたことは何ですか?あなたの.htaccessファイルは、Webサーバーユーザーが間違いなく読み取り可能ですか? Apacheのエラーログには何もありませんか? –

答えて

4

をsite.phpすることと、ルートを変更しなければならなかったPHPまた、ルーティング設定を確認し、正しいデフォルトコントローラを設定していることを確認してください。system/application/config/routes.php

+0

を置いて、混乱を避けるために、今はDNSを設定しました。私はデフォルトコントローラしか持っていません。それはローカルとパブリック環境で同じでしょうか? – Jakob

+0

おそらく、私はそれが正しいことを確認するだけでなく、Codeigniter 404またはApache 404を取得していますか? – jondavidjohn

+1

あなたはコントローラを直接起動しようとしましたか? 'http:// www.example.com/index.php/controller/index'? – jondavidjohn

1

$config['uri_protocol']も参加できます。デフォルト値はAUTOで、実際のURLを含む環境変数が自動的に検索されます。

自分のサーバーのmod_phpからphp-cgiに切り替えると失敗するWebアプリケーションがありました。設定をREQUEST_URIに変更するとこの問題は解決します。私はphpinfo()の出力を掘ることによってバルブを見つけました、あなたはそれを試みることができます。

+0

私は404ページにphpinfoを出力したので、専門家もphpinfoを見たり、安全上の脅威を与えたりすることができます。 – Jakob

0

私が最初に賭けたのは、これを開発して.htaccessファイルを修正したことです。

ただし、Windows - > Linuxシステムの変更(dev on Win、nix上でprod)を行った場合、Windows上のファイルが "Home.php"の場合はコントローラ名を覚えておく必要があります。デフォルトのルートとしてconfig内の "home.php"を使用した場合、 "home.php"ファイルが存在しないため、失敗します。

Home.php != home.php

Linuxは、大文字と小文字が区別されます。それを確認してください、それは簡単なことかもしれませんが、スラグを引き起こす可能性があります。

また、私は詳細が不足していると推測しています。

+0

勝利のおかげでありがとう - > nixしかし、私は命名についてstricktされている、私はそれが.htaccessファイルとは何かを持っていると思う傾向があるが、私は単純に "/" mod_rewriteが有効になっている場合は、** .htaccess **コードを – Jakob

+0

に投稿してください。あなたが何か言及したようにcodeigniter 404ページであれば、あなたのApache設定ではなく、codeigniterで間違っています。 – Jakub

2

私は最近codeignitor 3.0の新規インストールを使い始めました。私の開発サーバー(Windows)に問題はなく、ライブサーバー(Linux)に移動したときに404エラーが発生しました。

これは、3.0ではコントローラ/モデルの最初の文字とファイル名を大文字にするためです。

クラスTest_modelが、これはここで終わるいくつかの人々に役立ちますCI_Model {

Test_model.php

希望を拡張します!参考のため

http://www.codeigniter.com/userguide3/installation/upgrade_300.html

+0

うれしい私はこの答えにスクロールしました。ありがとう。 – olger