在多应用程序CodeIgniter

时间:2017-07-18 05:47:30

标签: php .htaccess codeigniter

最初我有一个应用程序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'] = '';

我可以使用以下链接访问模块:

  

http://localhost/cms/cms_test.php/home

但在这种情况下,我无法加载资产文件(即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/

0 个答案:

没有答案