Kohana 2.3.4(2.4)のルーティングと「インデックス」コントローラーの問題

StackOverflow https://stackoverflow.com/questions/1800315

  •  05-07-2019
  •  | 
  •  

質問

私が持っているのは、Apache 2.2.9を搭載したDebianで「index」という名前のコントローラーであるKohana 2.3.4の新しいクリーンコピー(2.4 RC1も試しました)です。

http:// localhost / kohana / index / index のようなアドレスを入力すると、コントローラが必要です'index'、実行されるアクション 'index'。 Windows localhostで動作し、共有ホスティングで動作します。しかし、私のDebianサーバーにはありません。

デバッグして、$ _ SERVER ['PATH_INFO']が正しくないことがわかりました。 URIの最初の「インデックス」が省略されているため、「インデックス/インデックス/インデックス」に移動して「インデックス/インデックス」に移動できます。それが私が修正したいものです。

これを解決する方法を知っている人はいますか?

役に立ちましたか?

解決 2

それはmod_negotitaionであることが判明しました。いまいましいmodは私の/ index / indexを/index.php/indexに書き換えます。

したがって、この問題が発生した場合は、mod_negotiationを無効にして楽しい時間を過ごしてください

他のヒント

実際には、Kohanaではなく、.htaccessファイルまたはApache configで発生していると思います。まず、Kohanaに付属するexample.htaccessファイルの名前が.htaccessに変更されていることを確認してください。Apacheを再起動する必要がある場合があります。

.htaccessを使用してパスのindex.php部分を非表示にしている場合、RewriteBase設定が何であるかを確認してください:

RewriteBase /kohana/

Webサーバーのルートにインストールした場合(本番環境、またはlocalhost用の別のポートを使用)、次のように変更する必要があります。

RewriteBase /

これは、新しいサイトや開発環境をセットアップする際の、私個人の最も一般的なエラーです。これは、CodeIgniterおよびその他の関連するPHPフレームワークにも当てはまります。

DebianサーバーにインストールしたApacheには実際にmod_rewriteがありますか?それを確認すると良いでしょう。 ここに1つの方法があります

KohanaまたはApacheの障害であるかどうかを確認するためのさらなる診断には、パスのindex.php部分の追加が含まれます。あなたの場合、 http://localhost/kohana/index.php/index を試してください。最後に、コントローラーの「インデックス」の命名に関する上記のsarfrazに同意する必要があります。トラブルを懇願しています。私自身の慣例では、「ホーム」と呼んでいます。デフォルトルートを適宜編集します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top