子文件夹中的Codeigniter index.php

时间:2015-11-13 09:46:24

标签: php .htaccess codeigniter subdirectory

我是Codeigniter的新手。我想让模型,控制器和视图安全。我发现将index.php放在公共文件夹中是很好的,如下所示 --root
--application
--public
--css
--js
--assets
- index.php(Codeigniter base index.php)
- 的的.htaccess
--system
的.htaccess
我应该为粗体文件做什么,这样当我输入“example.com/controller/method”时可以看到我的页面。我不想要“example.com/index.php/controller/method”我希望你能得到这些问题。

[编辑] 我加上更多解释。
我知道如何隐藏index.php

example.com/public/controller/method =>得到了页面 example.com/controller/method =>无法得到页面

如果我将index.php放入公共文件夹,我希望第二个可以显示页面!

3 个答案:

答案 0 :(得分:0)

在index.php中,您应该更改$system_path$application_folder变量,那应该是这样做的。

在你的情况下:

$system_path = '../system';
$application_folder = '../application';

当然,您的文档根目录必须指向您的公用文件夹。 希望能帮助到你。

答案 1 :(得分:0)

我不确定你想要达到什么目的;

如果你想从网址中删除index.php,那么你有

example.com/controller/method 而不是 example.com/index.php/controller/method

您需要创建.htaccess文件

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?r=$1 [L,QSA]

答案 2 :(得分:0)

对我来说,如果你想让它更安全......我建议你重命名

application文件夹和system文件夹

E.g:

application更改为my_secret_application

system更改为my_secret_system

index.php

$system_path = 'my_secret_application';
$application_folder = 'my_secret_system';