Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将(一些)请求从WordPress目录路由到Codeigniter_Wordpress_.htaccess_Codeigniter_Routing - Fatal编程技术网

将(一些)请求从WordPress目录路由到Codeigniter

将(一些)请求从WordPress目录路由到Codeigniter,wordpress,.htaccess,codeigniter,routing,Wordpress,.htaccess,Codeigniter,Routing,我有一个网站: mysite.com -> basic wordpress site mysite.com/app -> php codeigniter app mysite.com/app/profile/view/name.surname -> user profile in my codeigniter app 问题是: 我想从以下位置路由请求: mysite.com/name.surname …转到我的codeigniter应用程序上的“name.nam姓氏”用户配

我有一个网站:

mysite.com -> basic wordpress site
mysite.com/app -> php codeigniter app
mysite.com/app/profile/view/name.surname -> user profile in my codeigniter app
问题是:

我想从以下位置路由请求:

mysite.com/name.surname
…转到我的codeigniter应用程序上的“name.nam姓氏”用户配置文件:

mysite.com/app/profile/view/name.surname
url slug中的每个“配置文件”标识符都至少包含一个类似于facebook上的点(.)的配置文件。因此,如果任何给定的slug包含一个(.),那么我肯定知道它是一个用户配置文件

实现这种行为的最佳方式是什么


您可以通过设置带有回调的路由来实现这一点,假设profile是您的控制器并查看您的方法:

$route['(:any)']=function ($user){      
        $user=explode('.',$user);
        if(array_key_exists(1,$user)){
            // check if array has 2nd element and create route
            return "profile/view/$user[0]/$user[1]";
        }else{
            // route to index function
            return "profile/index";
        }
};
在控制器配置文件的功能视图中,您可以获得如下名称和姓氏:

function view($n, $sn){
    echo "name= $n; surname= $sn";
}   

关于

您可以通过设置带有回调的路由来实现这一点,假设profile是您的控制器并查看您的方法:

$route['(:any)']=function ($user){      
        $user=explode('.',$user);
        if(array_key_exists(1,$user)){
            // check if array has 2nd element and create route
            return "profile/view/$user[0]/$user[1]";
        }else{
            // route to index function
            return "profile/index";
        }
};
在控制器配置文件的功能视图中,您可以获得如下名称和姓氏:

function view($n, $sn){
    echo "name= $n; surname= $sn";
}   

关于

我知道您的问题指定了.htaccess,但这可能会对您有所帮助。包括一个index.php文件,如下所示:

<?php
      $uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
      $uri_segments = explode('/', $uri_path);
      if(strpos($uri_segments[0],'.')===false){
                include 'wordpress_index.php';
      }else{
                include 'codeigniter_index.php';
      }

我知道您的问题指定了.htaccess,但这可能会对您有所帮助。包括一个index.php文件,如下所示:

<?php
      $uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
      $uri_segments = explode('/', $uri_path);
      if(strpos($uri_segments[0],'.')===false){
                include 'wordpress_index.php';
      }else{
                include 'codeigniter_index.php';
      }

几年前,我写了一个类似的小库。也许对你有帮助。我给你留个链接:嗨,阿方索,档案是直接在Codeigniter应用程序中创建的。WordPress只对我们的“公司网站”有用,它与用户档案无关。几年前,我写了一个类似的库。也许对你有帮助。我给你留个链接:嗨,阿方索,档案是直接在Codeigniter应用程序中创建的。WordPress只对我们的“公司网站”有用,它与用户档案无关。/app不是控制器/app是我托管codeigniter应用程序的目录。我在第一篇文章中上传了一个更好的示例图片:)-app-wp content-wp admin-etc…默认控制器是$route['default\u controller']='dashboard/admin\u view';相反,在示例问题中,控制器是“profile”/app不是控制器/app是我托管codeigniter应用程序的目录。我在第一篇文章中上传了一个更好的示例图片:)-app-wp content-wp admin-etc…默认控制器是$route['default\u controller']='dashboard/admin\u view';相反,在示例问题中,控制器是“profile”Hi Alfonso,我必须将$uri_段从0更改为1以使其正常工作(该数组的元素0是一个空白字符串)…但Codeigniter给出了此错误:“您的系统文件夹路径似乎未正确设置。请打开以下文件并更正此错误:index.php”,我如何设置它,使其在任何情况下都有效?(mysite.com/name.lasname以及mysite.com/app/controller/action/)?请尝试以下操作:嗨,阿方索,我必须将$uri_段从0更改为1以使其工作(该数组的元素0是一个空白字符串)…但Codeigniter给出了以下错误:“您的系统文件夹路径似乎设置不正确。请打开以下文件并更正此问题:index.php“,如何设置它,使其在任何情况下都能正常工作?(mysite.com/name.姓氏和mysite.com/app/controller/action/)?请尝试以下方法: