2

元気ですか?

概要:ウェブサイトをlocalhostからamazon-ec2に移動しようとしていますが、ほとんどすべてのルートで「要求されたURLexample.com/xxx/yyy/がこのサーバーで見つかりませんでした。

コンテクスト:

  • public_html、アプリケーション、およびシステムでcodeigniter構造を使用します。
  • URIのWeb言語。例:localhost / public_html / es/main。
  • テストの場合、1ページ(登録)は別の方法でルーティングされます:localhost / public_html / admin/register。
  • このページはローカルホストから機能します。

問題: ページをEC2にアップロードしましたが、アクセスしようとすると、ほぼすべてのページに404エラーが表示されます。登録ページだけが機能しますが、example.com / index.php / admin / registerから呼び出す場合に限ります(example.com/admin/registerでも同じ404エラーが発生します)。

どんなアドバイスやアイデアも大歓迎です!! ありがとう!!

PS:それが役立つ場合は、現在のroutes.phpコードを共有しています。

$route['default_controller'] = "main";
$route['404_override'] = '';
$route['^(en|es)/(.+)$'] = "$2";
$route['^(en|es)$'] = $route['default_controller']; 
4

2 に答える 2

4

問題はhttpd.confにあり、public_html(.htaccesファイルがあった場所)の「AllowOverride」が「None」に設定されていました。

Allに変更する必要がありました。

試してくれたAchrafSoltaniとGrigorashに感謝します。

于 2012-04-30T09:02:45.453 に答える
3

問題:ページをEC2にアップロードしましたが、アクセスしようとすると、ほぼすべてのページに404エラーが表示されます。登録ページだけが機能しますが、example.com / index.php / admin / registerから呼び出す場合に限ります(example.com/admin/registerでも同じ404エラーが発生します)。

これは、.htaccessが欠落しているか、正しく設定されていないことを意味します。デフォルトでは、コードイグナイターはすべてのリクエストを処理するためにindex.phpに依存していますが、URLで見苦しいため、URLから削除するために正しいパラメーターを使用して.htaccessを追加し、システム/アプリケーションからconfig.phpを開く必要があります/ configディレクトリと置換:

$config['index_page'] = “index.php” 

$config['index_page'] = “”
于 2012-04-27T10:47:42.790 に答える