0

我是 Apache 环境的新手。最好我不想要 .htaccess 文件,但我认为我别无选择。我的应用程序在使用 WAMPSERVER 的 Windows 环境的笔记本中运行没有问题。但是当我部署到使用 Apache 的托管服务器时,我遇到了一些问题。我不确定以下结构对于 CodeIgniter 应用程序是否正确。以下是托管服务器中的目录结构...

httodocs/
/survey
    /admin
          /config           <-- $route['default_controller'] = "admin";
          /controllers
          /models
          /views
          /...
    /statistic
          /config           <-- $route['default_controller'] = "statistic";
          /controllers
          /models
          /views
          /...
    /mySurvey
          /config           <-- $route['default_controller'] = "mySurvey";
          /controllers
          /models
          /views
          /...
    /css
    /images
    /scripts
    /system
    /...
/index.php                  <-- $application_folder = 'mySurvey'; 
/admin.php                  <-- $application_folder = 'admin';
/Statistic.php              <-- $application_folder = 'statistic';

我所做的只是复制 Application 文件夹并分别重命名为 admin、statistic 和 mySurvey,我如上所述设置了默认控制器。

base_url() = 'http://survey.myhost.com'myhost.com 下的子域的所有应用程序

根 index.php 实际上是 CI 应用程序环境,当用户输入“http://survey.myhost.com”时,默认允许用户进入 mySurvey 应用程序。

从第一页开始,当我访问http://survey.myhost.com/index.php/mySurvey/index/0时 出现错误:

`The specified CGI application misbehaved by not retruning a complete set of HTTP headers.`

当我访问http://survey.myhost.com/admin.php/admin/login或时显示相同的消息http://survey.myhost.com/statistic.php?statistic/chart/1(请注意,我的应用程序也使用查询字符串)

显然,这些都与路线有关。我在服务器上没有任何 .htaccess 文件,因为 WAMP 不需要它,如果有人可以建议我可以将 .htaccess 文件放在哪里以及上述结构的正确 mod-rewrite 是什么以及这种结构是否合适,我将不胜感激。

问候,

KK吉安

4

1 回答 1

0
root
  /subs
    /survey (survey.domain.tld)
      /application (CI application folder)  
        /config
        /models
        ...
      index.php (CI index.php file)
    /statistics
      /application (CI application folder)
        /config
        /models
        ...
      index.php (CI index.php file)
    /mySurvey
      /application (CI application folder) 
        /config
        /models
        ...
      index.php (CI index.php file)

  /system (CI system folder)

在每个index.php(subs/survey/index.php、subs/mysurvey/idnex.php、subs/statistics/index.php)中,您将链接到root/system/文件夹中

$system_path = '../../system';

现在您可以轻松访问survey.myhost.com、statistics.myhost.com 等。从url ( $config['index_page'] = '';)中删除index.php、admin.php 字符串

希望我得到你想要的

对不起我的英语不好

于 2012-04-25T12:38:51.983 回答