代码之家  ›  专栏  ›  技术社区  ›  Undermine2k

web服务器上的mvc配置

  •  0
  • Undermine2k  · 技术社区  · 13 年前

    我最近把我的代码点火器项目上传到了我的网络服务器上。

    它在一个名为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/sproject1/]为什么要这样做?

    2 回复  |  直到 13 年前
        1
  •  2
  •   nageeb    13 年前

    看起来您已经将CodeIgniter安装到了一个子目录中。如果你想让你的CI站点从根url加载,你应该把它复制到一个目录上,这样应用程序&系统文件夹直接位于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 如果一切都安排好了。

        2
  •  1
  •   chhameed    13 年前

    启动和运行CI相当简单。其中大部分需要您编辑一些配置 文件。

    您需要设置CI以指向应用程序的右基URL。要执行此操作,请打开system/application/config/config.php并 编辑base_url数组项以指向服务器和CI文件夹。 查看从普通副本到剪贴板打印?

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

    目前,CI设置将有一个名为welcome.php的默认控制器;您可以在system/application/controllers文件夹中找到它。对于本教程,请删除它并打开您的system/application/config/routes.php文件。将默认数组项更改为指向helloworld控制器。 查看从普通副本到剪贴板打印?

    $route['default_controller'] = "Helloworld" 
    

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

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

    为了编辑Url http://localhost/ci/index.php/helloworld/ .你可以做一些事情来改善你的CodeIgniter体验- 比如从URL中删除那个烦人的index.php。您可以通过在根文件夹中创建.htaccess文件并添加以下代码来完成此任务。

    重写引擎打开 重写结束$1^(index.php|images|robots.txt) 重写规则^(.*)$ci/index.php/$1[L]

    您还需要在system/application/config/中打开config.php文件,并将index_page数组项编辑为空白字符串。 查看从普通副本到剪贴板打印?

    $config['index_page'] = "";   
    

    另一个妙招是打开CI解析PHP替代语法的能力,如果 服务器未启用。为此,打开与以前相同的文件system/application/config/config.php,并将rewrite_short_tags数组项设置为TRUE。 查看从普通副本到剪贴板打印?

    $config['rewrite_short_tags'] = TRUE;  
    

    我希望一切顺利!

    推荐文章