如何从文件夹中调用codeigniter中的控制器?

时间:2016-03-04 13:00:51

标签: php ajax codeigniter

我有一个

的网站
  • 前端:wordpress
  • 后端:codeigniter

Codeigniter实例保存在名为后端的文件夹中。

设置后端的测试环境为。

  • 文件夹名称:team
  • codeigniter安装在: abc文件夹

所以路径如下:

  

publichtml /团队/ ABC

现在尝试登录有 404未找到错误

任何人都可以帮我解决脚本中的错误:

<script> 
function sendData() {
    var username = $("#username").val();
    var userpass = $("#userpass").val();

    $.post('https://example.com/team/abc/index.php/login/authenticateUserWeb',{ 'username': username, 'userpass': userpass }, function( data ) {

  alert(data);   
    if(data == 'success'){
      window.location = "https://example.com/team/abc/index.php/companyadmin/folders";

    }else if(data == 'successuser'){
      window.location = "https://example.com/team/abc/index.php/companyuser";  
    }else if(data == 'expired'){
      window.location = 'https://example.com/team/abc/index.php/companyadmin/selectPacakge';    

    }else{
            $("#user").html(data);
            //alert(data);
        }

});

    }

现在当我尝试登录时在控制台日志中找到以下错误:

POST https://example.com/team/abc/index.php/login/authenticateUserWeb

  

301永久移动

jquery-1.10.2.js (line 6) 获取https://example.com/team/abc/login/authenticateUserWeb

  

404 Not Found

https://example.com/team/abc/login/authenticateUserWeb&#34;

  

NetworkError:404 Not Found

2 个答案:

答案 0 :(得分:1)

如何在codeigniter

中添加2个带有wordpress的项目和其他项目

假设以下目录结构

www/
    .htaccess (wordpress htaccess)
    index.php (wordpress index.php and files)
www/backend/
    .htaccess (codeigniter htaccess)
    index.php (codeigniter htaccess)

适用于wordpress的HTACCESS文件

//just add this line in wordpress htaccess
<Directory "backend/">
   Allow from all
</Directory>

对于Codeigniter HTACCESS文件

//add this lines in your codeigniter htaccess
RewriteEngine on
RewriteBase /backend/
...
RewriteRule ^(.*)$ /backend/index.php?/$1 [QSA,L]

这种类型每次都对我有用......

答案 1 :(得分:0)

我还不能评论,但对我来说,似乎你的网址中缺少'index.php':

https://example.com/team/abc/index.php/login/authenticateUserWeb

可以在以下时间找到:

https://example.com/team/abc/login/authenticateUserWeb

不能(返回404)。

这些网址之间的区别在于最后一个网址没有/index.php/。

您可以检查的一些步骤:

  • 您的Codeigniter config.php是否适应了测试后端的新位置? (BASE_URL)。
  • 您似乎在url中使用了index.php,因此您没有使用重写url在没有index.php的情况下工作。如果是这种情况,请确保config.php中的'index_page'设置正确(值:'index.php'可能就足够了)而不是空的。