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



我有一个网站:

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

到我的代码点火器应用程序上的"name.s姓氏"用户配置文件:

mysite.com/app/profile/view/name.surname

url段塞中的每个"个人资料"标识符在facebook上至少包含一个类似点(.(的个人资料。因此,如果任何给定的slug包含一个(.(,那么我确信它是一个用户配置文件。

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

实例与视觉解释

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

$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";
}   

关于带回调的Codeigniter Uri路由

我知道你的问题指定.htaccesss,但这可能会对你有所帮助。包括一个像下面这样的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';
}

它的唯一功能是根据url第一段中是否存在点来确定加载哪个应用程序。

相关内容

  • 没有找到相关文章

最新更新