5

私はCIに比較的慣れていないので、CIのデフォルトページを設定する方法を誰かが知っているかどうか疑問に思っています. ファイルをローカル サーバーからリモート サーバーに転送したところ、問題が発生しました。まず、URL から index.php が削除されるように .htaccess ファイルを編集したことに注意することが重要だと思います。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

次に、私のconfig.phpファイルには次のものがあります。

$config['base_url'] = '';
$config['index_page'] = 'sportstream';

sportstreamapplication/controllers/フォルダ内にあるコントローラの名前です。CI (または他のフレームワーク) を使用しない私の経験から、リモート サーバー上index.phpのフォルダー内のファイルpublic_htmlは、サイトにアクセスしたときに既定で読み込まれるファイルです。しかし、CI では、自分のドメイン名にアクセスしようとすると、404 エラーが返されます。http://www.mysite.comに設定しようとしましbase_urlたが、うまくいきませんでした。

http://www.mysite.comにアクセスするとhttp://www.mysite.com/sportstreamがロードされるようにする方法を知っている人はいますか?

4

2 に答える 2

3

ファイルに aRewriteBaseを追加する必要があります。.htaccess

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

注:?の後にも追加しましたindex.php

また、次を空の文字列に設定します(上記を試した後):

$config['base_url'] = '';
$config['index_page'] = '';

最後に、routes.phpファイルで:

$route['default_controller'] = 'sportstream';

アップデート

application/config/database.phpデータベースドライバーを変更する必要があります。ローカルホストでは、MySQLi がデータベース ドライバー セットでした。ただし、リモート サーバーには MySQLi がインストールされていないため、MySQL に変更すると問題が解決するはずです。

//old - works on local server
$db['default']['dbdriver'] = 'mysqli';

//new - works on remote server
$db['default']['dbdriver'] = 'mysql';

何らかの理由で、Codeigniter は単に「中断」し、エラーのない空白の画面を表示します。

于 2013-08-21T01:01:39.733 に答える
0

$route['default_controller'] ="sportstream";aplication/config/route.php , So when visitinghttp://www.mysite.com/ sportstream にあるデフォルトのコントローラを設定する必要がありtheます。コントローラはデフォルトでロードされます。

ユーザーガイドでデフォルトコントローラーについて確認する

元に戻す$config['index_page'] = '';

の名前を変更した場合は、その名前を にindex.php入力する必要があり ます。それ以外の場合は、空白のままにすることができます。index_pageconfig

推奨される Codeigniter スターター ガイド: http://net.tutsplus.com/tutorials/php/codeigniter-basics/

于 2013-08-15T01:25:03.480 に答える