【发布时间】:2017-02-21 21:53:57
【问题描述】:
我遇到了与CodeIgniter: 404 Page Not Found on Live Server 相同的问题。在应用程序/控制器中,我有 Welcome.php,如下所示:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see https://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}
但是,当我访问 mysite.com、mysite.com/welcome、mysite.com/Welcome 和 mysite.com/Welcome.php 时,我每次都会收到 404。
我的路线.php:
$route['default_controller'] = "home";
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
我有一个文件,Home.php:
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('general_model');
}
public function index() {
$this->load->view("home/home_view");
}
/*
public function coming(){
$this->load->view("home/coming_soon_view");
}
*/
}
我的 .htaccess:
RewriteEngine on
RewriteCond $1 !^(phpMyAdmin|index\.php|robots\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>
我真的很难看出我做错了什么。
【问题讨论】:
-
你的
config['index']var 设置为什么? -
来自 config.php?
-
是的,
$config['index_page'] -
是否启用了 mod_rewrite?
-
@qwertzman 请问我怎么知道?
标签: php codeigniter