我对CI比较陌生,我想知道是否有人知道如何设置CI的默认页面。我只是把我的文件从我的本地服务器转移到我的远程服务器,并且遇到了一些问题。首先,我认为需要注意的是,我编辑了.htaccess文件,以便将index.php从URL中删除。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]其次,在我的config.php文件中,我有:
$config['base_url'] = '';
$config['index_page'] = 'sportstream';sportstream是在application/controllers/文件夹中找到的控制器的名称。根据我的经验,在没有使用CI (或任何其他框架)的情况下,远程服务器上public_html文件夹中的public_html文件是在访问站点时默认加载的文件。但是,对于CI,每当我试图访问我的域名时,都会返回404错误。我试着将base_url设置为http://www.mysite.com,但没有任何运气。
这里有人知道如何在访问http://www.mysite.com时加载http://www.mysite.com/sportstream吗?
发布于 2013-08-21 01:01:39
您需要在RewriteBase文件中添加一个.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-15 01:25:03
您必须在aplication/config/route.php, So when visitinghttp://www.mysite.com/thesportstream`中设置默认控制器,它位于$route['default_controller'] ="sportstream";中,默认情况下将加载控制器。
检查用户指南中的默认控制器
切换回$config['index_page'] = '';
如果重命名了index.php,则必须在config中输入index_page名称,否则可以将其保留为空白。
推荐代码点火器启动器指南:http://net.tutsplus.com/tutorials/php/codeigniter-basics/
https://stackoverflow.com/questions/18244819
复制相似问题