【问题标题】:Multiple apps Codeigniter: remove "index.php/controller" from URL多个应用程序 Codeigniter:从 URL 中删除“index.php/controller”
【发布时间】:2015-06-01 08:38:57
【问题描述】:

我是 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 我试图将其更改为 www.domain.com/admin/posts 毫无意义。那么如何从 url 中删除 /index.php/admin 。

$config['base_url'] 为每一方(管理员/前端)相应设置,默认 index.php 也设置为 null ,$config['index_page'] = '';

这是因为我有 2 个不同的应用程序还是只是配置错误? 多个应用程序同一个站点的最佳做法是什么?

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

【问题讨论】:

  • 我必须添加多少次删除“index.php/controller”而不仅仅是“index.php”。为什么人们甚至不阅读帖子并且他们投反对票。我已经从这些帖子中尝试了几个修复,但没有一个奏效......

标签: php .htaccess codeigniter codeigniter-routing


【解决方案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" />

【讨论】:

  • 我需要 $config['base_url'] = '';之所以要设置,是因为我在视图中链接了 css/js 文件,并且给出的代码已经过测试,没有效果。不过感谢您的回答。
  • 你需要加载css??那么加载 CSS 有问题吗??
  • 没有问题。我只想通过删除 index.php/controller 来改进应用程序。通过调用 $config['base_url'] 加载 css。 '/css/style.css'。通过更改 $config['base_url'] 我将无法获得 css/js ...我需要另一个解决方案,只需使用 .htsccess 或 css 路径修复想法......
  • 不会让我回来,所以 css/style.css 不是有效的路径。这就是我现在使用它的方式......
  • 示例&lt;link href="&lt;?php echo base_url(); ?&gt;css/bootstrap.css" rel="stylesheet" /&gt;没有/在css之前
猜你喜欢
  • 1970-01-01
  • 2016-05-14
  • 2014-10-28
  • 2012-06-15
  • 2012-09-21
  • 2011-10-12
  • 2017-07-16
相关资源
最近更新 更多