最初我有一个应用程序CodeIgniter项目,但现在我需要通过复制现有项目来构建一个多应用程序CodeIgniter项目。
所以现在我的结构如下:
cms(main_folder)
-assets
-includes
-system
-index.php
-cms_test.php
-.htaccess
-application
--cms
---config
---controllers
---models
---views
--cms_test
---config
---controllers
---models
---views
在index.php中,我做了如下更改:
$application_folder = 'application/cqms';
$system_path = 'system';
在cms_test.php中,我做了如下更改:
$application_folder = 'application/cms_test';
$system_path = 'system';
对于.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|cms_test\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cms_test$ cms_test\.php [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^cms_test\/(.*)$ cms_test\.php/$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index\.php/$1 [L,QSA]
现有的cms模块正在运行,但我在访问新应用程序时遇到问题(即cms_test)。
下面是cms_test / config / config.php
的配置详情$config['base_url'] = 'http://localhost/cms/cms_test.php';
$config['index_page'] = '';
我可以使用以下链接访问模块:
但在这种情况下,我无法加载资产文件(即css,js,其他文件)
" NetworkError:404 Not Found - http://localhost/cms/cms_test.php/assets/
我尝试将$ config [' base_url']设置为空,因为我可以从资源中获取文件,但它还会将所有链接重定向到 http://localhost/cms/ 而不是 http://localhost/cms/cms_test.php
我尝试按如下方式更改base_url
$ config [' base_url'] =' http://localhost/cms/cms_test/';
然后,如果获得404 Page Not Found Error。
对于临时解决方案,我尝试使用正确的路径加载所有资源文件。即在cms_test / config / constant.php下面是常量定义
define('ABSOLUTE_PATH', 'http://localhost/cqms/');
使用ABSOLUTE_PATH获取所有资产文件的内核
<link rel="stylesheet" href="<?php echo ABSOLUTE_PATH ."assets/bootstrap/css/bootstrap.css"; ?>">
我想知道是否有办法使用配置中定义的base_url以下来访问资产。
$config['base_url'] = 'http://localhost/cms/cms_test.php';
以下是我提到的链接
https://www.codeigniter.com/userguide3/general/managing_apps.html
https://philsturgeon.uk/codeigniter/2009/07/08/Create-an-Admin-panel-with-CodeIgniter/