我最近将我的codeigniter项目上传到我的网络服务器上。
它位于名为project1的文件夹中,这就是我的目录视图
[www.myurl.com]
|-> project1
|-> application
|-> css
|-> images
|-> js
我有两个问题。
第一个是我希望它在我去(www.myurl.com)时加载我的欢迎视图而不是 (www.myurl.com/project1/main_controller/index.php/welcome)。我如何摆脱所有垃圾?
第二个问题是当我使用<?php echo base_url();?>
它在视图源中显示得很好但是当我点击它时,它回显了网址[www.myurl.com/project1/www.myurl.com/project1/为什么这样做?
答案 0 :(得分:2)
看起来您已将CodeIgniter安装到子目录中。如果您希望从根网址加载CI网站,则应将其复制到一个目录,以便应用程序&amp;系统文件夹直接位于Web目录的根URL下。从那里开始,由shail发布的.htaccess规则(以及下面引用的)应该注意删除路径中的index.php。
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ ci/index.php/$1 [L]
关于site_url()问题,请确保在application / config / config.php中设置了$ config ['base_url']变量,并且它包含尾部斜杠。
$config['base_url'] = "http://www.myurl.com/";
要进一步测试,请尝试将参数传递给site_url()函数,如下所示:
echo site_url(welcome);
如果一切正确,应该返回http://www.myurl.com/welcome。
答案 1 :(得分:1)
让CI启动并运行非常简单。其中大部分都需要您编辑一些配置 文件。强>
您需要设置CI以指向应用程序的正确基本URL。为此,请打开system / application / config / config.php和 编辑base_url数组项以指向您的服务器和CI文件夹。 查看plaincopy到clipboardprint?
$config['base_url'] = "http://localhost/ci/";
目前,CI设置将有一个名为“welcome.php”的默认控制器;你可以在system / application / controllers文件夹中找到它。在本教程中,删除它并打开您的system / application / config / routes.php文件。将默认数组项更改为指向“helloworld”控制器。 查看plaincopy到clipboardprint?
$route['default_controller'] = "Helloworld"
CI还有一个我们不需要的视图文件。打开system / application / view /文件夹 并删除welcome_message.php文件。
您可以在此处更改默认控制器。
要编辑网址http://localhost/ci/index.php/helloworld/
。您可以采取一些措施来改善您的CodeIgniter体验 -
喜欢从URL中删除恼人的index.php位。您可以通过在根文件夹中创建.htaccess文件并添加以下代码来完成此任务。
RewriteEngine on RewriteCond $ 1!^(index.php | images | robots.txt) RewriteRule ^(。*)$ ci / index.php / $ 1 [L]
您还需要在system / application / config /中打开config.php文件,并将index_page数组项编辑为空字符串。 查看plaincopy到clipboardprint?
$config['index_page'] = "";
另一个好玩的技巧是打开CI解析PHP替代语法的能力 未由服务器启用。为此,打开与以前相同的文件system / application / config / config.php,并将rewrite_short_tags数组项设置为TRUE。 查看plaincopy到clipboardprint?
$config['rewrite_short_tags'] = TRUE;
我希望一切顺利!