多个应用程序Codeigniter:从URL中删除“index.php / controller”

时间:2015-06-01 08:38:58

标签: php .htaccess codeigniter codeigniter-routing

我是CodeIgniter的新手,并试图了解基础知识以及设置基于MVC的应用程序的一些先进方法。过了一会儿,我想我可能会尝试设置一个管理面板,并创建第二个文件夹作为管理员应用程序。

这是我的文件夹结构:

www.domain.com
    --frontend
    --admin

在每个文件夹中都有一个应用程序集,其中包含自己的.htaccess文件。 Bellow是管理员端的.htaccess文件。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /admin/
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]    
</IfModule>

当前工作网址为www.domain.com/admin/index.php/admin/posts 我试图将其改为w ww.domain.com/admin/posts毫无意义。那么如何从url中删除/index.php/admin。

为每一方(admin / frontend)相应地设置$config['base_url'],并且默认index.php也设置为null,$config['index_page'] = '';

这是问题导致我有2个不同的应用程序或只是一个错误的配置? 多个应用程序使用同一站点的最佳做法是什么?

希望我没有复制任何帖子,如果是的话请不要讨厌并试图帮助我。我非常感谢你们所有人。

1 个答案:

答案 0 :(得分:1)

试试这个

在config.php中

$config['base_url'] = '';
$config['index_page'] = '';

在.htacess中

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>

编辑01

<link href="<?php echo base_url(); ?>css/style.css" rel="stylesheet" />