CodeIgniter |将index.php移动到公用文件夹

时间:2018-05-29 11:12:58

标签: php codeigniter codeigniter-3

我是CodeIgniter的新手,并且认为可以通过

尝试一下
  1. 下载了CodeIgniter中可用的代码
  2. 将基本网址更改为$config['base_url'] = 'http://localhost:8000';
  3. 使用命令php -S 0.0.0.0:3000
  4. 启动服务器

    这很顺利。接下来我尝试将index.php文件移动到公共文件夹 - 这就是当事情开始破坏时。

    1. 将index.php移至新创建的公用文件夹
    2. 使用以下代码段

      创建了一个新文件public / .htaccess
      RewriteEngine on
      RewriteCond $1 !^(index\.php|assets|images|js|css|uploads|favicon.png)
      RewriteCond %(REQUEST_FILENAME) !-f
      RewriteCond %(REQUEST_FILENAME) !-d
      RewriteRule ^(.*)$  ./index.php/$1 [L] 
      
    3. 修改后的$system_path = '../system';$application_folder = '../application';在public/index.php

    4. 我在重新启动服务器后尝试访问该页面时收到404 Resource not found

2 个答案:

答案 0 :(得分:0)

您是否更改了服务器配置中的根文件夹?

如果将index.php移动到其他文件夹,则应该已在服务器设置中更改了index.php的路径。在配置文件中。

答案 1 :(得分:0)

这很简单

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

并使用普通的codeignitor .htacess文件,一切运行正常。 Symfony在index.php中也做同样的事情。 当然,您的CSS,图像,上传文件夹应位于公用文件夹内。 那么您可以删除所有index.html文件和

defined('BASEPATH') OR exit('No direct script access allowed');

声明;)