我是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下的子域
root 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重写是什么,这个结构是否合适。 / p>
此致
KK Gian
答案 0 :(得分: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字符串
抱歉我的英文