0

Windows 7 の XAMPP で CodeIgniter アプリを開発しています。アプリはローカルでは期待どおりに機能しますが、アップロードすると機能しません。

デフォルトのコントローラー (ShowStadium) には、次のメソッドがあります。 - index() - show()

ベースパス経由で呼び出された場合、インデックスは正常にロードされますが、直接呼び出された場合はどちらもロードされません。

/pathToApp/ShowStadium/ または /pathToApp/ShowStadium/index または pathToApp/ShowStadium/show

受信したエラーは Codeigniter 404 メッセージです。

codeigniter インスタンスは現在、2 つのサブフォルダーにあります。私の .htaccess ファイル:

RewriteEngine On

# Put your installation directory here:
# If your URL is www.example.com/, use /
# If your URL is www.example.com/site_folder/, use /site_folder/

RewriteBase /proj/groundtweet/

# Do not enable rewriting for files or directories that exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# For reuests that are not actual files or directories,
# Rewrite to index.php/URL
RewriteRule ^(.*)$ index.php/$1 [PT,L]

私が試したこと:

  • コントローラ ファイルはすべて小文字です。
  • 基本パスは両方のインストールで正しいです。
  • さまざまな uri_protocol オプションを試しました
  • index.php はパスから削除されました。

この問題に対する具体的な答えを見つけることができず、単純である可能性が高いことに不満を感じているため、助けていただければ幸いです。

ここで詳細を見逃していたら申し訳ありません。

ありがとう。

4

3 に答える 3

0

以下のコードを試して、これを.htaccessファイルに貼り付けてください。プロジェクトフォルダがgroundtweetの場合は、このファイルをプロジェクトフォルダの下に配置します。このフォルダの下にファイルを貼り付けます。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /proj/groundtweet/index.php/$1 [L]

これがお役に立てば幸いです。

于 2012-04-16T04:37:52.420 に答える
0

すべての回答をありがとう、最終的には大文字と小文字の区別の問題でした。

コントローラーのファイル名は小文字 (showstadium.php) でしたが、Pascal ケース (ShowStadium) のフォーム アクションで参照されます。

デフォルトのコントローラー/アクションの場合、CodeIgniter はこれを回避するようです (私は内臓を見ていなかったので、ここでは仮定を行っているだけです)。 Linux サーバー。

于 2012-04-16T23:06:37.870 に答える
0

application/config/config.php に移動して、

$config['uri_protocol'] = 'AUTO';

次のオプションのいずれかを使用します (これらは、この構成についてコメントされています)。

 'PATH_INFO'        Uses the PATH_INFO
 'QUERY_STRING' Uses the QUERY_STRING
 'REQUEST_URI'      Uses the REQUEST_URI
 'ORIG_PATH_INFO'   Uses the ORIG_PATH_INFO

これらのいずれかがうまくいくはずです

于 2012-04-16T07:02:22.610 に答える