0

アップデート

次のようなURLを閲覧すると

ローカルホスト/myapp/index.php/about_us/index

できます。URLのこのindex.phpは何ですか? サイトのメニュー/リンクに追加されて正しいURLを形成するように、構成ファイルで言及する必要がありますか?

元の質問

私はPHPの知識はありませんが、PHP(codeigniter)でRuby on Railsに変換するプロジェクトを取得しました。データベースとアプリケーションを適切にセットアップできました。ベース URL を使用してアプリケーションを参照すると (コントローラーとアクションについて言及せずに)、ページが適切に読み込まれます。しかし、次のようなURLに言及するとすぐに

ローカルホスト/myapp/ホーム/インデックス

それはメッセージを示しています

要求された URL はこのサーバーで見つかりませんでした。

デフォルトのコントローラーをroutes.phpの何かに変更すると、インデックスメソッドを含むページは正常に機能しますが、コントローラーとアクションを明示的に言及すると機能しません。

何が問題なのかわかりません。PHPでルーティングがどのように機能するのかわかりません:(

どんな助けでも大歓迎です。

4

2 に答える 2

0

CodeIgniter では、すべてのリクエストはindex.phpファイルを通じて送信され、フロント コントローラーのように機能します。

index.php削除するソリューションを作成していない限り、URL に存在する必要があります。Apache を使用する場合、これは通常、.htaccessファイルで行われます。この手法に関する記事や質問は何百もありますが、役立つ情報が必ず見つかります。

を定義するための URL と構成オプションに関してindex.php、CodeIgniter の URL ヘルパー関数site_url()は、 にある構成設定を利用$config['index_page']application/config/config.phpます。.htaccess ソリューションを使用して URL から index.php を削除する場合は、この設定を空白にすることができます。

$config['index_page'] = '';

この設定は、index.php の名前を別の名前に変更する場合にも役立ちます (あまり一般的ではありません)。

于 2013-04-01T22:04:43.397 に答える