2012-09-05 89 views
0

我最近将我的codeigniter项目上传到我的web服务器上。web服务器上的mvc配置

很文件夹,名为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();?>它显示在视图源罚款,但当我点击它,它回声的URL [www.myurl.com/project1/www.myurl.com/project1/]为什么是它这样做?

回答

2

看起来您已将CodeIgniter安装到子目录中。如果您希望您的CI站点从根网址加载,则应该将其复制到一个目录中,以便应用程序&系统文件夹直接位于您的Web目录的根网址下。从那里,由shail(和下面引用的)发布的.htaccess规则应该注意删除路径中的index.php。

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

关于SITE_URL()问题,请确保您有$配置[ 'BASE_URL']变量集的application/config/config.php文件,它包含了结尾的斜线。如果一切都设置正确http://www.myurl.com/welcome

$config['base_url'] = "http://www.myurl.com/"; 

为了进一步测试,尝试将参数传递到SITE_URL()函数是这样的:

echo site_url(welcome); 

应返回。

+0

你的意思是在我的www文件夹中,或者甚至在基本目录下的更深层? – Undermine2k

+0

是的,它应该位于您的Web目录的绝对顶层。 – nageeb

+0

谢谢你会试试看 – Undermine2k

1

让CI启动并运行相当简单。其中大部分要求您编辑几个配置文件 。

您需要设置CI以指向应用的正确基本URL。为此,打开system/application/config/config.php并编辑base_url数组项以指向您的服务器和CI文件夹。 view plaincopy to clipboardprint?

$config['base_url'] = "http://localhost/ci/"; 

目前,CI设置将有一个名为“welcome.php”的默认控制器;你可以在system/application/controllers文件夹中找到它。对于本教程,请将其删除并打开您的system/application/config/routes.php文件。将默认数组项目更改为指向“helloworld”控制器。 view plaincopy to clipboardprint?

$route['default_controller'] = "Helloworld" 

CI也有一个我们不需要的视图文件。打开系统/应用程序/视图/文件夹 并删除welcome_message.php文件。

您可以在此更改您的默认控制器。

为了编辑Url http://localhost/ci/index.php/helloworld/。你可以通过几件事来改善你的CodeIgniter体验 - 就像从网址中移除恼人的index.php位。您可以通过在根文件夹中创建.htaccess文件并添加以下代码来完成此任务。

上 的RewriteCond $ 1 RewriteEngine叙述^(index.php文件|图片| robots.txt的)!(。*) 重写规则^ $ CI /的index.php/$ 1 [L]

您还需要打开system/application/config /中的config.php文件,并将index_page数组项目编辑为空字符串。 view plaincopy to clipboardprint?

$config['index_page'] = ""; 

另一个漂亮的伎俩是打开CI的解析PHP语法如果 不是由服务器启用的能力。为此,请打开与之前相同的文件system/application/config/config.php,并将rewrite_short_tags数组项设置为TRUE。 view plaincopy to clipboardprint?

$config['rewrite_short_tags'] = TRUE; 

我希望一切顺利!

+1

您应该对格式化您的复制粘贴答案更仔细一点。 – nageeb

+0

猜猜我错过了这部分〜_〜 – Undermine2k

+0

@nageeb carefull for ???????????????????? – shail