【问题标题】:Upload Codeigniter project to Cpanel Subdomain将 Codeigniter 项目上传到 Cpanel 子域
【发布时间】:2016-10-22 13:45:54
【问题描述】:

我真的——真的需要你的帮助。我花了太多时间研究这个问题,但我找不到解决这个问题的想法。

我有一个现有的网站 mywebsite.com,我有一个使用 codeigniter 制作的系统。

现在我非常想将我的系统上传到 cpanel,以便它现在成为我网站 mywebsite.com 的一部分,作为一个子域,它看起来像 mydomain.mywebsite.com。

这是我的 config.php 基本网址

$config['base_url'] = 'http://mydomain.mywebsite.com/';

还有我的索引

$config['index_page'] = '';

我在 routes.php 中的默认路由是

$route['default_controller'] = 'users';

我的用户控制器 (application/controller/users.php) 是

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Users extends CI_Controller {
   function __construct() {
    parent::__construct();
    $this->load->model('user','',TRUE);
    $this->load->helper('url');
    $this->load->library('form_validation');
    //enabling CORS
    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
    $method = $_SERVER['REQUEST_METHOD'];
    if($method == "OPTIONS") {
        die();
    }
}

function index() {
    $this->load->view('login');
}
?>

我的 .htaccess 文件是

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

但是当我尝试访问它时,它说

404 Page Not Found

The page you requested was not found.

我尝试使用浏览器控制台查看错误,但没有出现错误。

我仍然尝试在 cpanel 服务器中查找日志。

所有文件都上传到 CPANEL,包括 .htaccess(整个 codeigniter 系统/项目)

我的基本网址正确吗?因为它是子域的一部分。 请为我推荐一个适用的 .htaccess。

我尝试了 stackoverflow 中的所有帖子,但没有一个与我的匹配。 任何想法将不胜感激

【问题讨论】:

  • 您的 CI 版本是多少?您的默认控制器名称是什么?添加控制器代码?你的默认控制器文件名是什么?
  • .htaccess 文件中有什么?检查服务器上是否设置了mod_rewrite
  • 我已经更新了问题先生。所有必要的文件都在 cpanel public_html 文件夹(根文件夹)中

标签: codeigniter cpanel


【解决方案1】:

尝试清空$config['base_url'] 的值。 Codeigniter 足够聪明,可以知道您的安装路径。我不太了解.htaccess,但这是我一直使用的:

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我和你有同样的问题。您可以尝试将子域文件夹的权限更改为 755。您可以通过转到 文件管理器 来更改它,然后右键单击根文件夹(放置 .htaccess 的位置),然后点击“更改权限”。设置如下:

    在这里工作。

    【讨论】:

    • 这并不能真正回答问题。如果您有其他问题,可以点击 提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
    猜你喜欢
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 2021-01-11
    • 1970-01-01
    • 2012-11-24
    • 2015-03-10
    • 1970-01-01
    相关资源
    最近更新 更多