在CodeIgniter中,我的url someurl.com/test/
不会在控制器类中执行任何操作。请看一下,告诉我是否有一些你可以想到的东西可能会妨碍CI_Controller在这里或我应该看的地方的执行。
例如以下
some.testurl.com/test/hi/Bob
some.testurl.com/test
some.testurl.com/test/hi
全部显示:
Above class
Below class
修改
我相信我的问题在于我如何尝试运行两个单独的应用程序。一个位于testurl.com
,另一个位于some.testurl.com
,其中some.testurl.com
的目录是保存testurl.com
的目录的子文件夹。什么是正确的方法,他们都工作?
更新: 将子域移动到其他CodeIgniter应用程序的目录之外并没有以任何方式更改行为。 CodeIgniter控制器不执行任何操作。
这是我的代码:
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
echo "Above class<br>";
class Test extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('mod_login');
$this->load->helper('date');
}
//443 replace with 482
function index() {
echo "Index function";
}
function hi($name)
{
echo "Hi".$name."!";
}
}
echo "Below class<br>";
?>
这是我的.htaccess文件:
RewriteEngine on
RewriteCond $1 !^(index\.php|assets|common|ico|database_backup|images|img|js|scripts|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
答案 0 :(得分:1)
这可能是 mod_rewrite 问题。检查您的php信息,看看该模块是否已在 apache 服务器上安装并运行。
如果有,请检查<Directory "C:/PATH/TO/YOUR/APP">
指令中的httpd.conf文件,该文件应存在AllowOverride All
。
答案 1 :(得分:0)
database.php中缺少大括号会破坏整个应用程序而不会触发错误消息。对不起,因为没有人能想到它。这不是我预期会导致此问题的错误类型,因为我验证了环境是开发的,并且我在修复此问题时触发了许多其他错误。
如果其他人碰到这个,只知道在任何配置文件中都可能是一个简单的错误。
谢谢大家。